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"

Reply via email to