diff options
author | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-22 18:54:34 +0000 |
---|---|---|
committer | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-22 18:54:34 +0000 |
commit | fe42ff4b3dacf896fc1230211c327812a17e448a (patch) | |
tree | 7f69972f28e4826c4963b4d12d00f72aaef0ecd1 /gcc/reload.c | |
parent | 491767e37372e61e61580f113a5feccde39199ae (diff) | |
download | gcc-fe42ff4b3dacf896fc1230211c327812a17e448a.tar.gz |
2011-09-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* reload.c (find_reloads): Set operand_mode to Pmode for address
operands consisting of just a CONST_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179099 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index c671765ba93..53dcd2dafed 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -2825,6 +2825,13 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known, /* Address operands are reloaded in their existing mode, no matter what is specified in the machine description. */ operand_mode[i] = GET_MODE (recog_data.operand[i]); + + /* If the address is a single CONST_INT pick address mode + instead otherwise we will later not know in which mode + the reload should be performed. */ + if (operand_mode[i] == VOIDmode) + operand_mode[i] = Pmode; + } else if (code == MEM) { |