aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2023-09-15 09:19:14 +0100
committerRichard Sandiford <richard.sandiford@arm.com>2023-09-15 09:19:14 +0100
commit2d38f45bcca62ca0c7afef4b579f82c5c2a01610 (patch)
tree67a53cacbed82fe5b54e5e8a5dcae818228ebb77 /libstdc++-v3
parent227b18f5d7616d6d34ac44836a8679de9b43c857 (diff)
downloadgcc-2d38f45bcca62ca0c7afef4b579f82c5c2a01610.zip
gcc-2d38f45bcca62ca0c7afef4b579f82c5c2a01610.tar.gz
gcc-2d38f45bcca62ca0c7afef4b579f82c5c2a01610.tar.bz2
aarch64: Fix loose ldpstp check [PR111411]
aarch64_operands_ok_for_ldpstp contained the code: /* One of the memory accesses must be a mempair operand. If it is not the first one, they need to be swapped by the peephole. */ if (!aarch64_mem_pair_operand (mem_1, GET_MODE (mem_1)) && !aarch64_mem_pair_operand (mem_2, GET_MODE (mem_2))) return false; But the requirement isn't just that one of the accesses must be a valid mempair operand. It's that the lower access must be, since that's the access that will be used for the instruction operand. gcc/ PR target/111411 * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): Require the lower memory access to a mem-pair operand. gcc/testsuite/ PR target/111411 * gcc.dg/rtl/aarch64/pr111411.c: New test.
Diffstat (limited to 'libstdc++-v3')
0 files changed, 0 insertions, 0 deletions