]> git.ipfire.org Git - thirdparty/gcc.git/commit
Arm: Fix ldrd offset range [PR115153]
authorWilco Dijkstra <wilco.dijkstra@arm.com>
Fri, 5 Jul 2024 16:31:25 +0000 (17:31 +0100)
committerWilco Dijkstra <wilco.dijkstra@arm.com>
Fri, 5 Jul 2024 16:33:05 +0000 (17:33 +0100)
commit44e5ecfd261afe72aa04eba4bf1a9ec782579cab
treed7372493555ce852fe0faf05a13357945f22cfe6
parent533f807e17034b20c586eeb480c989a42869bb36
Arm: Fix ldrd offset range [PR115153]

The valid offset range of LDRD in arm_legitimate_index_p is increased to
-1024..1020 if NEON is enabled since VALID_NEON_DREG_MODE includes DImode.
Fix this by moving the LDRD check earlier.

gcc:
PR target/115153
* config/arm/arm.cc (arm_legitimate_index_p): Move LDRD case before
NEON.
(thumb2_legitimate_index_p): Update comments.
(output_move_neon): Use DFmode for vldr/vstr and non-checking
adjust_address.

gcc/testsuite:
PR target/115153
* gcc.target/arm/pr115153.c: Add new test.
* lib/target-supports.exp: Add arm_arch_v7ve_neon target support.
gcc/config/arm/arm.cc
gcc/testsuite/gcc.target/arm/pr115153.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp