OSDN Git Service

PR target/38016
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 5 Nov 2008 18:04:36 +0000 (18:04 +0000)
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 5 Nov 2008 18:04:36 +0000 (18:04 +0000)
* config/cris/cris.c (cris_order_for_addsi3): Test for !REG_P, not
just MEM_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141614 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/cris/cris.c

index 5511750..433cdac 100644 (file)
@@ -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
index 88d8999..75e2e18 100644 (file)
@@ -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];