diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2004-07-09 10:05:59 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2004-07-09 10:05:59 +0000 |
commit | f372c93230da93c39db21d3c7965946e4a61fb1c (patch) | |
tree | a683dbb381bf8e651c824fedbec052d296bd3c08 | |
parent | 35652573d3b56136017403f497dd9ced8a22ab18 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 2 |
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); |