aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2004-07-09 10:05:59 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2004-07-09 10:05:59 +0000
commitf372c93230da93c39db21d3c7965946e4a61fb1c (patch)
treea683dbb381bf8e651c824fedbec052d296bd3c08
parent35652573d3b56136017403f497dd9ced8a22ab18 (diff)
downloadgcc-f372c93230da93c39db21d3c7965946e4a61fb1c.zip
gcc-f372c93230da93c39db21d3c7965946e4a61fb1c.tar.gz
gcc-f372c93230da93c39db21d3c7965946e4a61fb1c.tar.bz2
re PR target/12133 (Reload abort in simd-3.c)
PR target/12133 * arm.c (arm_legitimate_index_p) Allow DFmode for soft-float and DImode to use +/-4k offset. From-SVN: r84357
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 079dc6b..9c5fb77 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-07-09 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/12133
+ * arm.c (arm_legitimate_index_p) Allow DFmode for soft-float
+ and DImode to use +/-4k offset.
+
2004-07-09 Richard Henderson <rth@redhat.com>
* config/sparc/sparc-protos.h (sparc_va_arg): Remove.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 9c373cf..8da8881 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -3110,7 +3110,7 @@ arm_legitimate_index_p (enum machine_mode mode, rtx index, RTX_CODE outer,
if (TARGET_LDRD)
return val > -256 && val < 256;
else
- return val == 4 || val == -4 || val == -8;
+ return val > -4096 && val < 4092;
}
return TARGET_LDRD && arm_address_register_rtx_p (index, strict_p);