diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 18d76291144c..fdbde3f8db93 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Oct 20 15:36:11 1999 Andrew Haley + + * 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 * basic-block.h (PROP_*): Move constants from ... diff --git a/gcc/config/arm/thumb.h b/gcc/config/arm/thumb.h index 9c30a30d639e..baefb8353013 100644 --- a/gcc/config/arm/thumb.h +++ b/gcc/config/arm/thumb.h @@ -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; \ } \