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