aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2008-11-05 18:04:36 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2008-11-05 18:04:36 +0000
commit5e41dd6f29493d6dd47fd53862cd9c546593fb9d (patch)
tree940bc0349e252569e2fb6d49d3c693f4fedde4a5 /gcc
parent5e9abf2ce4a4e1e380a1da8016eac24b22973dfd (diff)
downloadgcc-5e41dd6f29493d6dd47fd53862cd9c546593fb9d.zip
gcc-5e41dd6f29493d6dd47fd53862cd9c546593fb9d.tar.gz
gcc-5e41dd6f29493d6dd47fd53862cd9c546593fb9d.tar.bz2
re PR target/38016 (-fno-ivopts exposes CRIS port bug, more with -fno-gcse)
PR target/38016 * config/cris/cris.c (cris_order_for_addsi3): Test for !REG_P, not just MEM_P. From-SVN: r141614
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/cris/cris.c9
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5511750..433cdac 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-11-05 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/38016
+ * config/cris/cris.c (cris_order_for_addsi3): Test for !REG_P, not
+ just MEM_P.
+
2008-11-05 Martin Jambor <mjambor@suse.cz>
PR middle-end/37861
diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c
index 88d8999..75e2e18 100644
--- a/gcc/config/cris/cris.c
+++ b/gcc/config/cris/cris.c
@@ -3565,14 +3565,15 @@ cris_expand_pic_call_address (rtx *opp)
}
/* Make sure operands are in the right order for an addsi3 insn as
- generated by a define_split. A MEM as the first operand isn't
- recognized by addsi3 after reload. OPERANDS contains the operands,
- with the first at OPERANDS[N] and the second at OPERANDS[N+1]. */
+ generated by a define_split. Nothing but REG_P as the first
+ operand is recognized by addsi3 after reload. OPERANDS contains
+ the operands, with the first at OPERANDS[N] and the second at
+ OPERANDS[N+1]. */
void
cris_order_for_addsi3 (rtx *operands, int n)
{
- if (MEM_P (operands[n]))
+ if (!REG_P (operands[n]))
{
rtx tem = operands[n];
operands[n] = operands[n + 1];