https://gcc.gnu.org/g:e07eaf92e3cce0ee7bfcecd471f92d0e4386d943
commit r16-6717-ge07eaf92e3cce0ee7bfcecd471f92d0e4386d943 Author: Claudio Bantaloukas <[email protected]> Date: Mon Jan 12 12:28:38 2026 +0000 aarch64: Update target checks for sme2 fp8 Commits gcc-16-6381-g226d5fd59dc8 and gcc-16-6380-gef533d234293 had insufficient target checks and this caused regressions on the linaro CI which uses an older binutils version. This change adds the needed checks. gcc/testsuite/Changelog: * gcc.target/aarch64/sme2/acle-asm/cvt_mf8_bf16_x2.c: Added target checks. * gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f16_x2.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f32_x4.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/cvtn_mf8_f32_x4.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/scale_f16_x2.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/scale_f16_x4.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/scale_f32_x2.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/scale_f32_x4.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/scale_f64_x2.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/scale_f64_x4.c: Likewise. Diff: --- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_bf16_x2.c | 2 ++ gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f16_x2.c | 2 ++ gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f32_x4.c | 2 ++ gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvtn_mf8_f32_x4.c | 2 ++ gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x2.c | 2 ++ gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x4.c | 2 ++ gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x2.c | 2 ++ gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x4.c | 2 ++ gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x2.c | 2 ++ gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x4.c | 2 ++ 10 files changed, 20 insertions(+) diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_bf16_x2.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_bf16_x2.c index bdda0fd36d67..27c32046abc8 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_bf16_x2.c +++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_bf16_x2.c @@ -1,4 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +/* { dg-do assemble { target { aarch64_asm_fp8_ok && aarch64_asm_bf16_ok } } } */ +/* { dg-do compile { target { ! { aarch64_asm_fp8_ok && aarch64_asm_bf16_ok } } } } */ #pragma GCC target "+fp8+bf16" #include "test_sme2_acle.h" diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f16_x2.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f16_x2.c index 93792e909450..20d7240ccb83 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f16_x2.c +++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f16_x2.c @@ -1,4 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +/* { dg-do assemble { target { aarch64_asm_fp8_ok } } } */ +/* { dg-do compile { target { ! { aarch64_asm_fp8_ok } } } } */ #include "test_sme2_acle.h" #pragma GCC target "+fp8" diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f32_x4.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f32_x4.c index a9ee10de0df1..4906e568d318 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f32_x4.c +++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f32_x4.c @@ -1,4 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +/* { dg-do assemble { target { aarch64_asm_fp8_ok } } } */ +/* { dg-do compile { target { ! { aarch64_asm_fp8_ok } } } } */ #include "test_sme2_acle.h" #pragma GCC target "+fp8" diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvtn_mf8_f32_x4.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvtn_mf8_f32_x4.c index 2d0bd7eda0ed..5e4971f43cad 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvtn_mf8_f32_x4.c +++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvtn_mf8_f32_x4.c @@ -1,4 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +/* { dg-do assemble { target { aarch64_asm_fp8_ok } } } */ +/* { dg-do compile { target { ! { aarch64_asm_fp8_ok } } } } */ #include "test_sme2_acle.h" #pragma GCC target "+fp8" diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x2.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x2.c index 4535a94c1bf3..1e4aef79a03a 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x2.c +++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x2.c @@ -1,4 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +/* { dg-do assemble { target { aarch64_asm_fp8_ok } } } */ +/* { dg-do compile { target { ! { aarch64_asm_fp8_ok } } } } */ #include "test_sme2_acle.h" #pragma GCC target "+fp8" diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x4.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x4.c index b3c5a482052f..7bc9e7645de7 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x4.c +++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x4.c @@ -1,4 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +/* { dg-do assemble { target { aarch64_asm_fp8_ok } } } */ +/* { dg-do compile { target { ! { aarch64_asm_fp8_ok } } } } */ #include "test_sme2_acle.h" #pragma GCC target "+fp8" diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x2.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x2.c index 2375ea605967..c14f648ed2ac 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x2.c +++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x2.c @@ -1,4 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +/* { dg-do assemble { target { aarch64_asm_fp8_ok } } } */ +/* { dg-do compile { target { ! { aarch64_asm_fp8_ok } } } } */ #include "test_sme2_acle.h" #pragma GCC target "+fp8" diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x4.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x4.c index fc50de86ed37..1035dbb49c51 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x4.c +++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x4.c @@ -1,4 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +/* { dg-do assemble { target { aarch64_asm_fp8_ok } } } */ +/* { dg-do compile { target { ! { aarch64_asm_fp8_ok } } } } */ #include "test_sme2_acle.h" #pragma GCC target "+fp8" diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x2.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x2.c index cedd918ed358..6973f62806f8 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x2.c +++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x2.c @@ -1,4 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +/* { dg-do assemble { target { aarch64_asm_fp8_ok } } } */ +/* { dg-do compile { target { ! { aarch64_asm_fp8_ok } } } } */ #include "test_sme2_acle.h" #pragma GCC target "+fp8" diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x4.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x4.c index 13eeb1a2e024..b76ffa7e0984 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x4.c +++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x4.c @@ -1,4 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +/* { dg-do assemble { target { aarch64_asm_fp8_ok } } } */ +/* { dg-do compile { target { ! { aarch64_asm_fp8_ok } } } } */ #include "test_sme2_acle.h" #pragma GCC target "+fp8"
