Add missing predicate to PREDICATE_CODES on PA

John David Anglin dave@hiauly1.hia.nrc.ca
Sun Feb 10 12:30:00 GMT 2002


> 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  <dave@hiauly1.hia.nrc.ca>

	* 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}},			\



More information about the Gcc-patches mailing list