* config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets.
authorPaul Brook <paul@codesourcery.com>
Mon, 26 Apr 2004 13:56:00 +0000 (13:56 +0000)
committerPaul Brook <pbrook@gcc.gnu.org>
Mon, 26 Apr 2004 13:56:00 +0000 (13:56 +0000)
From-SVN: r81189

gcc/ChangeLog
gcc/config/arm/arm.c

index 454d85b00a9558cabaa1ff5f79508785342eb77a..24b6342c10c889dfe44e669e178ebed963452657 100644 (file)
@@ -1,3 +1,7 @@
+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.
index 059164355349337df5b957e00101b2cfeb77974d..e49692c3b8f40875ee90495c11f4cf7576fd16ba 100644 (file)
@@ -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