thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of the mode size when finding out...
authorAndrew Haley <aph@cygnus.com>
Wed, 20 Oct 1999 15:36:33 +0000 (15:36 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Wed, 20 Oct 1999 15:36:33 +0000 (15:36 +0000)
Wed Oct 20 15:36:11 1999  Andrew Haley  <aph@cygnus.com>

* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of
the mode size when finding out if an offset is legal.

From-SVN: r30104

gcc/ChangeLog
gcc/config/arm/thumb.h

index 18d76291144cdb3930cdf6aa14580389c6affec2..fdbde3f8db935999cdc24e0102f6faa71eefea5a 100644 (file)
@@ -1,3 +1,8 @@
+Wed Oct 20 15:36:11 1999  Andrew Haley  <aph@cygnus.com>
+
+       * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of
+       the mode size when finding out if an offset is legal.
+
 Wed Oct 20 06:26:58 1999  Richard Henderson  <rth@cygnus.com>
 
        * basic-block.h (PROP_*): Move constants from ...
index 9c30a30d639e1540205eab49a98d05fd7145d783..baefb8353013fd2a1f7651eb595b38ccb7415ef9 100644 (file)
@@ -1007,7 +1007,8 @@ extern int making_const_table;
               && REGNO (XEXP (X, 0)) == STACK_POINTER_REGNUM           \
               && GET_MODE_SIZE (MODE) >= 4                             \
               && GET_CODE (XEXP (X, 1)) == CONST_INT                   \
-              && (unsigned HOST_WIDE_INT) INTVAL (XEXP (X, 1)) < 1024  \
+              && ((unsigned HOST_WIDE_INT) INTVAL (XEXP (X, 1))        \
+                  + GET_MODE_SIZE (MODE)) <= 1024                      \
               && (INTVAL (XEXP (X, 1)) & 3) == 0)                      \
        goto WIN;                                                       \
     }                                                                  \