]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64/testsuite: Fix if-compare_2.c for removing vcond{,u,eq} patterns [PR116041]
authorAndrew Pinski <quic_apinski@quicinc.com>
Tue, 6 Aug 2024 23:00:02 +0000 (16:00 -0700)
committerAndrew Pinski <quic_apinski@quicinc.com>
Thu, 8 Aug 2024 17:56:49 +0000 (10:56 -0700)
commit7223c64745530db102a160d5a1db4c2c8d2b9fe1
tree18bba33acb5153560be7583718d1aaa127ab13ba
parent2c24e0568392e51a77ebdaab629d631969ce8966
aarch64/testsuite: Fix if-compare_2.c for removing vcond{,u,eq} patterns [PR116041]

For bar1 and bar2, we currently is expecting to use the bsl instruction but
with slightly different register allocation inside the loop (which happens after
the removal of the vcond{,u,eq} patterns), we get the bit instruction.  The pattern that
outputs bsl instruction will output bit and bif too depending register allocation.

So let's check for bsl, bit or bif instructions instead of just bsl instruction.

Tested on aarch64 both with an unmodified compiler and one which has the patch to disable
these optabs.

gcc/testsuite/ChangeLog:

PR testsuite/116041
* gcc.target/aarch64/if-compare_2.c: Support bit and bif for
both bar1 and bar2; add comment on why too.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
gcc/testsuite/gcc.target/aarch64/if-compare_2.c