From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23803 invoked by alias); 10 Feb 2002 17:38:42 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 23704 invoked from network); 10 Feb 2002 17:38:40 -0000 Received: from unknown (HELO hiauly1.hia.nrc.ca) (132.246.100.193) by sources.redhat.com with SMTP; 10 Feb 2002 17:38:40 -0000 Received: from hiauly1.hia.nrc.ca (localhost [127.0.0.1]) by hiauly1.hia.nrc.ca (8.12.0.Beta16/8.12.0.Beta16) with ESMTP id g1AHcdFN007634; Sun, 10 Feb 2002 12:38:39 -0500 (EST) Received: (from dave@localhost) by hiauly1.hia.nrc.ca (8.12.0.Beta16/8.12.0.Beta16) id g1AHcdg6007633; Sun, 10 Feb 2002 12:38:39 -0500 (EST) Message-Id: <200202101738.g1AHcdg6007633@hiauly1.hia.nrc.ca> Subject: Re: Add missing predicate to PREDICATE_CODES on PA To: grahams@redhat.com (Graham Stott) Date: Sun, 10 Feb 2002 12:30:00 -0000 From: "John David Anglin" Cc: gcc-patches@gcc.gnu.org In-Reply-To: <3C60BB47.F587F903@redhat.com> from "Graham Stott" at Feb 6, 2002 05:12:39 am X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SW-Source: 2002-02/txt/msg00674.txt.bz2 > I believe reg_before_reload_operand also accepts a REG so I think the list > of rtx codes should also include REG. I changed reg_before_reload_operand to not accept SUBREG codes since register_operand accepts them before reload. They require an unwanted reload. The predicate codes for reg_before_reload_operand are now REG and MEM. Tested on hppa2.0w-hp-hpux11.11. Dave -- J. David Anglin dave.anglin@nrc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) 2002-02-10 John David Anglin * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand. * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand. --- pa.c.orig Fri Feb 8 11:58:09 2002 +++ pa.c Fri Feb 8 12:22:13 2002 @@ -387,6 +387,10 @@ register rtx op; enum machine_mode mode; { + /* Don't accept a SUBREG since it will need a reload. */ + if (GET_CODE (op) == SUBREG) + return 0; + if (register_operand (op, mode)) return 1; --- pa.h.orig Wed Feb 6 11:27:43 2002 +++ pa.h Fri Feb 8 12:23:27 2002 @@ -1925,7 +1925,7 @@ CONST_DOUBLE, CONST, HIGH, CONSTANT_P_RTX}}, \ {"symbolic_operand", {SYMBOL_REF, LABEL_REF, CONST}}, \ {"symbolic_memory_operand", {SUBREG, MEM}}, \ - {"reg_before_reload_operand", {SUBREG, MEM}}, \ + {"reg_before_reload_operand", {REG, MEM}}, \ {"reg_or_nonsymb_mem_operand", {SUBREG, REG, MEM}}, \ {"reg_or_0_or_nonsymb_mem_operand", {SUBREG, REG, MEM, CONST_INT, \ CONST_DOUBLE}}, \