]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Use VNx16BI for floating-point svcmp*
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 4 Aug 2025 10:45:33 +0000 (11:45 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Mon, 4 Aug 2025 10:45:33 +0000 (11:45 +0100)
commit2cf2cc8183e70d00744a22f07092d24519bb91c5
tree79bd20e0385aa29ac86f19a7d58a87f910d0736a
parent690586e7960a9fb0b9939a770a37b6c9bf74a8bf
aarch64: Use VNx16BI for floating-point svcmp*

This patch continues the work of making ACLE intrinsics use VNx16BI
for svbool_t results.  It deals with the floating-point forms of svcmp*.

gcc/
* config/aarch64/aarch64-sve.md (@aarch64_pred_fcm<cmp_op><mode>_acle)
(*aarch64_pred_fcm<cmp_op><mode>_acle, @aarch64_pred_fcmuo<mode>_acle)
(*aarch64_pred_fcmuo<mode>_acle): New patterns.
* config/aarch64/aarch64-sve-builtins-base.cc
(svcmp_impl::expand, svcmpuo_impl::expand): Use them.

gcc/testsuite/
* gcc.target/aarch64/sve/acle/general/cmpeq_6.c: New test.
* gcc.target/aarch64/sve/acle/general/cmpge_9.c: Likewise.
* gcc.target/aarch64/sve/acle/general/cmpgt_9.c: Likewise.
* gcc.target/aarch64/sve/acle/general/cmple_9.c: Likewise.
* gcc.target/aarch64/sve/acle/general/cmplt_9.c: Likewise.
* gcc.target/aarch64/sve/acle/general/cmpne_5.c: Likewise.
* gcc.target/aarch64/sve/acle/general/cmpuo_1.c: Likewise.
gcc/config/aarch64/aarch64-sve-builtins-base.cc
gcc/config/aarch64/aarch64-sve.md
gcc/testsuite/gcc.target/aarch64/sve/acle/general/cmpeq_6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general/cmpge_9.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general/cmpgt_9.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general/cmple_9.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general/cmplt_9.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general/cmpne_5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general/cmpuo_1.c [new file with mode: 0644]