OSDN Git Service

PR target/16641
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 23 Apr 2006 17:25:30 +0000 (17:25 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 23 Apr 2006 17:25:30 +0000 (17:25 +0000)
* config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
rtx to stack_pointer_rtx or frame_pointer_rtx directly.

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

gcc/ChangeLog
gcc/config/fr30/fr30.h

index 76914ef..f93061d 100644 (file)
@@ -1,3 +1,10 @@
+2006-04-23  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/16641
+       * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
+       STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
+       rtx to stack_pointer_rtx or frame_pointer_rtx directly.
+
 2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
 
        * fold-const.c (range_predecessor): Use operand_equal_p
index b423b0a..0901649 100644 (file)
@@ -842,13 +842,15 @@ do                                                                                \
         goto LABEL;                                                    \
       if (GET_CODE (X) == PLUS                                         \
          && ((MODE) == SImode || (MODE) == SFmode)                     \
-         && XEXP (X, 0) == stack_pointer_rtx                           \
+         && GET_CODE (XEXP (X, 0)) == REG                              \
+          && REGNO (XEXP (X, 0)) == STACK_POINTER_REGNUM               \
          && GET_CODE (XEXP (X, 1)) == CONST_INT                        \
          && IN_RANGE (INTVAL (XEXP (X, 1)), 0, (1 <<  6) - 4))         \
        goto LABEL;                                                     \
       if (GET_CODE (X) == PLUS                                         \
          && ((MODE) == SImode || (MODE) == SFmode)                     \
-         && XEXP (X, 0) == frame_pointer_rtx                           \
+         && GET_CODE (XEXP (X, 0)) == REG                              \
+          && REGNO (XEXP (X, 0)) == FRAME_POINTER_REGNUM               \
          && GET_CODE (XEXP (X, 1)) == CONST_INT                        \
          && IN_RANGE (INTVAL (XEXP (X, 1)), -(1 << 9), (1 <<  9) - 4)) \
         goto LABEL;                                                    \
@@ -862,15 +864,16 @@ do                                                                                \
         goto LABEL;                                                    \
       if (GET_CODE (X) == PLUS                                         \
          && ((MODE) == SImode || (MODE) == SFmode)                     \
-         && XEXP (X, 0) == stack_pointer_rtx                           \
+         && GET_CODE (XEXP (X, 0)) == REG                              \
+          && REGNO (XEXP (X, 0)) == STACK_POINTER_REGNUM               \
          && GET_CODE (XEXP (X, 1)) == CONST_INT                        \
          && IN_RANGE (INTVAL (XEXP (X, 1)), 0, (1 <<  6) - 4))         \
        goto LABEL;                                                     \
       if (GET_CODE (X) == PLUS                                         \
          && ((MODE) == SImode || (MODE) == SFmode)                     \
-         && GET_CODE (XEXP (X, 0)) == REG \
-          && (REGNO (XEXP (X, 0)) == FRAME_POINTER_REGNUM \
-           || REGNO (XEXP (X, 0)) == ARG_POINTER_REGNUM) \
+         && GET_CODE (XEXP (X, 0)) == REG                              \
+          && (REGNO (XEXP (X, 0)) == FRAME_POINTER_REGNUM              \
+             || REGNO (XEXP (X, 0)) == ARG_POINTER_REGNUM)             \
          && GET_CODE (XEXP (X, 1)) == CONST_INT                        \
          && IN_RANGE (INTVAL (XEXP (X, 1)), -(1 << 9), (1 <<  9) - 4)) \
         goto LABEL;                                                    \