diff options
author | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-11-20 17:05:08 +0000 |
---|---|---|
committer | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-11-20 17:05:08 +0000 |
commit | 13de7ba99d7d3ecb0e658e7b1294016dfc14a1ff (patch) | |
tree | 5a21a5b3ce2e1fa3f82d686ad108412c7de37ff7 /gcc/reload.c | |
parent | f851ffbfdbf05aefe9acc61f2645a3318e3c201c (diff) | |
download | gcc-13de7ba99d7d3ecb0e658e7b1294016dfc14a1ff.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59308 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 2b119886d4b..56fcf46d00c 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; } |