aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2002-11-20 17:05:08 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2002-11-20 17:05:08 +0000
commit3ba2436a67f611be43fc02a1f400a69a95088695 (patch)
tree5a21a5b3ce2e1fa3f82d686ad108412c7de37ff7 /gcc/reload.c
parent3ebb998e6fd4db2150c4c60f0977b2b4ca3d39fa (diff)
downloadgcc-3ba2436a67f611be43fc02a1f400a69a95088695.zip
gcc-3ba2436a67f611be43fc02a1f400a69a95088695.tar.gz
gcc-3ba2436a67f611be43fc02a1f400a69a95088695.tar.bz2
recog.c (constrain_operands): Prefer exact match over reloadable EXTRA_MEMORY_CONSTRAINT or...
* recog.c (constrain_operands): Prefer exact match over reloadable EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT. * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT operands in Pmode. From-SVN: r59308
Diffstat (limited to 'gcc/reload.c')
-rw-r--r--gcc/reload.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index 2b11988..56fcf46 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -3283,6 +3283,10 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
the address into a base register. */
this_alternative[i] = (int) MODE_BASE_REG_CLASS (VOIDmode);
badop = 0;
+
+ /* Address constraints are reloaded in Pmode, no matter
+ what mode is given in the machine description. */
+ operand_mode[i] = Pmode;
break;
}