[AArch64] Split gcc.target/aarch64/sve/vcond_4*
vcond_4.c combined too much stuff into one test, so that when we needed
to add XFAILs for one set of routines, we lost testing of others that
used the same instructions. This patch splits it into four:
vcond_4.c:
The main test for selects between a vector and a scalar, with all
elements having the same size.
After Prathamesh's fix for PR91272, we are now guaranteed to use the
conditionally-loaded vector as the "then" value and the scalar as the
"else" value.
vcond_4_zero.c:
Like vcond_4.c, but comparing with zero.
vcond_4_sel.c:
Tests for selects between two scalars, with all elements having
the same size. The optimisers can legitimately switch the "then"
and "else" order and adjust the comparison to match.
vcond_4_costly.c:
Like vcnod_4.c, but with mixed element sizes. The sequences tested
here will not be the preferred ones once we support mixtures of vector
sizes, but it still tests an important code path.
This means that vcond_4_run.c now only tests what's left in vcond_4.c,
but that seems OK, since the main point was to ensure correct exception
behaviour.
Similarly it means that vcond_5.c only tests what's left in vcond_4.c,
but that too is OK, since the point of the test was to compare the
default handling of each comparison in vcond_4.c with the
-fno-trapping-math equivalent.
2019-10-31 Richard Sandiford <richard.sandiford@arm.com>
gcc/testsuite/
* gcc.target/aarch64/sve/vcond_4.c: Split parts out into...
* gcc.target/aarch64/sve/vcond_4_costly.c,
* gcc.target/aarch64/sve/vcond_4_sel.c,
* gcc.target/aarch64/sve/vcond_4_zero.c: ...these new tests.
* gcc.target/aarch64/sve/vcond_4_run.c: Adjust accordingly.
* gcc.target/aarch64/sve/vcond_5.c: Likewise.
From-SVN: r277682