diff options
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/config/arm/arm.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 454d85b..24b6342 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2004-04-26 Paul Brook <paul@codesourcery.com> + * config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets. + +2004-04-26 Paul Brook <paul@codesourcery.com> + * config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets. 2004-04-25 Roger Sayle <roger@eyesopen.com> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 0591643..e49692c 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -3104,8 +3104,9 @@ arm_legitimate_index_p (enum machine_mode mode, rtx index, RTX_CODE outer, if (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (mode)) return (code == CONST_INT - && INTVAL (index) < 256 - && INTVAL (index) > -256); + && INTVAL (index) < 1024 + && INTVAL (index) > -1024 + && (INTVAL (index) & 3) == 0); if (GET_MODE_SIZE (mode) <= 4 && ! (arm_arch4 |
