arm.c (arm_legitimize_reload_address): For NEON quad-word modes, reduce to 9-bit index range when above 1016 limit.
2011-04-20 Chung-Lin Tang <cltang@codesourcery.com> * config/arm/arm.c (arm_legitimize_reload_address): For NEON quad-word modes, reduce to 9-bit index range when above 1016 limit. From-SVN: r172779
This commit is contained in:
parent
cfc99488e7
commit
0147574725
@ -1,3 +1,9 @@
|
||||
2011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
|
||||
|
||||
* config/arm/arm.c (arm_legitimize_reload_address): For NEON
|
||||
quad-word modes, reduce to 9-bit index range when above 1016
|
||||
limit.
|
||||
|
||||
2011-04-20 Andrew Stubbs <ams@codesourcery.com>
|
||||
|
||||
* config/arm/arm.c (arm_gen_constant): Move movw support ....
|
||||
|
@ -6330,7 +6330,15 @@ arm_legitimize_reload_address (rtx *p,
|
||||
: 0)
|
||||
|
||||
if (coproc_p)
|
||||
low = SIGN_MAG_LOW_ADDR_BITS (val, 10);
|
||||
{
|
||||
low = SIGN_MAG_LOW_ADDR_BITS (val, 10);
|
||||
|
||||
/* NEON quad-word load/stores are made of two double-word accesses,
|
||||
so the valid index range is reduced by 8. Treat as 9-bit range if
|
||||
we go over it. */
|
||||
if (TARGET_NEON && VALID_NEON_QREG_MODE (mode) && low >= 1016)
|
||||
low = SIGN_MAG_LOW_ADDR_BITS (val, 9);
|
||||
}
|
||||
else if (GET_MODE_SIZE (mode) == 8)
|
||||
{
|
||||
if (TARGET_LDRD)
|
||||
|
Loading…
Reference in New Issue
Block a user