[gcc r16-6717] aarch64: Update target checks for sme2 fp8
Claudio Bantaloukas
rdfm@gcc.gnu.org
Mon Jan 12 12:29:44 GMT 2026
https://gcc.gnu.org/g:e07eaf92e3cce0ee7bfcecd471f92d0e4386d943
commit r16-6717-ge07eaf92e3cce0ee7bfcecd471f92d0e4386d943
Author: Claudio Bantaloukas <claudio.bantaloukas@arm.com>
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"
More information about the Gcc-cvs
mailing list