]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Use VNx16BI for svrev_b* [PR121294]
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 4 Aug 2025 10:45:29 +0000 (11:45 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Mon, 4 Aug 2025 10:45:29 +0000 (11:45 +0100)
commitdcb02ff8229882cbfb04155643054c1535244d7b
treeb40335a6c0ddd375b23d87e80164caddb8d5e446
parent13c8c9d8d11490698a877d604c029170fcb7fdff
aarch64: Use VNx16BI for svrev_b* [PR121294]

The previous patch for PR121294 handled svtrn1/2, svuzp1/2, and svzip1/2.
This one extends it to handle svrev intrinsics, where the same kind of
wrong code can be generated.

gcc/
PR target/121294
* config/aarch64/aarch64.md (UNSPEC_REV_PRED): New unspec.
* config/aarch64/aarch64-sve.md (@aarch64_sve_rev<mode>_acle)
(*aarch64_sve_rev<mode>_acle): New patterns.
* config/aarch64/aarch64-sve-builtins-base.cc
(svrev_impl::expand): Use the new patterns for boolean svrev.

gcc/testsuite/
PR target/121294
* gcc.target/aarch64/sve/acle/general/rev_2.c: New test.
gcc/config/aarch64/aarch64-sve-builtins-base.cc
gcc/config/aarch64/aarch64-sve.md
gcc/config/aarch64/aarch64.md
gcc/testsuite/gcc.target/aarch64/sve/acle/general/rev_2.c [new file with mode: 0644]