diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2004-09-29 19:46:18 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2004-09-29 19:46:18 +0000 |
commit | 8820e4bed84ebc9fdd23f394ec55e0faeac5fce9 (patch) | |
tree | cc5465ee34f8f7a14ece2536147cd1434557e968 /gcc | |
parent | c8dc36d6bcf43e68ed48335ee16f9590139917bd (diff) | |
download | gcc-8820e4bed84ebc9fdd23f394ec55e0faeac5fce9.zip gcc-8820e4bed84ebc9fdd23f394ec55e0faeac5fce9.tar.gz gcc-8820e4bed84ebc9fdd23f394ec55e0faeac5fce9.tar.bz2 |
cris.md (moverside, movemside): With MEM, make sure the address is (plus reg mem).
* config/cris/cris.md (moverside, movemside): With MEM, make sure
the address is (plus reg mem).
From-SVN: r88298
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/cris/cris.md | 14 |
2 files changed, 13 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 170879c..7b1103c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-09-29 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.md (moverside, movemside): With MEM, make sure + the address is (plus reg mem). + 2004-09-29 David Edelsohn <edelsohn@gnu.org> * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define. diff --git a/gcc/config/cris/cris.md b/gcc/config/cris/cris.md index 6092d24..1e925db 100644 --- a/gcc/config/cris/cris.md +++ b/gcc/config/cris/cris.md @@ -4904,9 +4904,10 @@ rtx otherop = rtx_equal_p (operands[2], operands[0]) ? operands[3] : operands[2]; - /* Make sure we have canonical RTX so we match the insn pattern - a - register or MULT in the first operand, not a constant. */ - if (CONSTANT_P (otherop)) + /* Make sure we have canonical RTX so we match the insn pattern - + not a constant in the first operand. We also require the order + (plus reg mem) to match the final pattern. */ + if (CONSTANT_P (otherop) || MEM_P (otherop)) { operands[7] = operands[1]; operands[8] = otherop; @@ -4954,9 +4955,10 @@ rtx otherop = rtx_equal_p (operands[2], operands[0]) ? operands[3] : operands[2]; - /* Make sure we have canonical RTX so we match the insn pattern - a - register or MULT in the first operand, not a constant. */ - if (CONSTANT_P (otherop)) + /* Make sure we have canonical RTX so we match the insn pattern - + not a constant in the first operand. We also require the order + (plus reg mem) to match the final pattern. */ + if (CONSTANT_P (otherop) || MEM_P (otherop)) { operands[7] = operands[1]; operands[8] = otherop; |