aarch64: LD3/LD4 post-modify costs for struct modes
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 8 Nov 2021 10:36:25 +0000 (10:36 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Mon, 8 Nov 2021 10:36:25 +0000 (10:36 +0000)
commit05783fe65d018f7dc30601abf74f97daa1d76991
tree7269ac53d667cc4820bc6a88930278bcfff5952a
parent8fd2477ddc358660611f79d8e50f31ed0f3aa105
aarch64: LD3/LD4 post-modify costs for struct modes

The LD3/ST3 and LD4/ST4 address cost code had no test coverage (oops).
This patch fixes that and updates it for the new structure modes.
The test only covers Advanced SIMD because SVE doesn't have
post-increment forms.

gcc/
* config/aarch64/aarch64.c (aarch64_ldn_stn_vectors): New function.
(aarch64_address_cost): Use it instead of testing for CImode and
XImode directly.

gcc/testsuite/
* gcc.target/aarch64/neoverse_v1_1.c: New test.
gcc/config/aarch64/aarch64.c
gcc/testsuite/gcc.target/aarch64/neoverse_v1_1.c [new file with mode: 0644]