]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: testsuite: Fix do-assemble tests for SME
authorSpencer Abson <spencer.abson@arm.com>
Thu, 31 Jul 2025 10:01:01 +0000 (10:01 +0000)
committerSpencer Abson <spencer.abson@arm.com>
Thu, 31 Jul 2025 10:08:18 +0000 (10:08 +0000)
commit9793ffce9332349441b5c83f8c1809ac4264a0f2
treef9862e90169e9eccfaaedcada3376a24f68c6ac1
parent6e6cc1deb9bf7ca7deac066f26c134b57ee50587
aarch64: testsuite: Fix do-assemble tests for SME

GCC doesn't support SME without SVE2, so the -march=armv8-a+<ext> argument to
check_no_compiler_messages causes aarch64_asm_<ext>_ok to return zero for SME
and any <ext> that implies it.  This patch changes the baseline architecure to
armv9-a for these extensions.

The tests for ACLE SME2 intrinsics that require FEAT_FAMINMAX were configured
to do-assemble if aarch64_asm_sme2_ok returned 1 (by default), but they really
need to check if +faminmax is supported too.  The fix above exposed this, so
we also fix the do-assemble/do-compile choice for those tests here.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/sme2/acle-asm/amax_f16_x2.c: Gate do-assemble on
assembler support for +faminmax and +sme2.
* gcc.target/aarch64/sme2/acle-asm/amax_f16_x4.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/amax_f32_x2.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/amax_f32_x4.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/amax_f64_x2.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/amax_f64_x4.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/amin_f16_x2.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/amin_f16_x4.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/amin_f32_x2.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/amin_f32_x4.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/amin_f64_x2.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/amin_f64_x4.c: Likewise.
* lib/target-supports.exp: Split the extensions that require SME into
a separate set, and use armv9-a as their baseline.
13 files changed:
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amax_f16_x2.c
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amax_f16_x4.c
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amax_f32_x2.c
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amax_f32_x4.c
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amax_f64_x2.c
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amax_f64_x4.c
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amin_f16_x2.c
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amin_f16_x4.c
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amin_f32_x2.c
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amin_f32_x4.c
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amin_f64_x2.c
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/amin_f64_x4.c
gcc/testsuite/lib/target-supports.exp