diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 454d85b00a9..24b6342c10c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-04-26 Paul Brook + + * config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets. + 2004-04-26 Paul Brook * config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 05916435534..e49692c3b8f 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