]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64: Fix sme2+faminmax intrisic gating (PR 121300)
authorAlfie Richards <alfie.richards@arm.com>
Tue, 29 Jul 2025 14:16:40 +0000 (14:16 +0000)
committerAlfie Richards <alfie.richards@arm.com>
Wed, 30 Jul 2025 09:17:32 +0000 (09:17 +0000)
Fixes the feature gating for the SME2+FAMINMAX intrinsics.

PR target/121300

gcc/ChangeLog:

* config/aarch64/aarch64-sve-builtins-sme.def (svamin/svamax): Fix
arch gating.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/pr121300.c: New test.

gcc/config/aarch64/aarch64-sve-builtins-sme.def
gcc/testsuite/gcc.target/aarch64/pr121300.c [new file with mode: 0644]

index 8e6aadce7de9978dd3dee47964e3add2e3b7f8f9..117b70ede74067d7374401e5ad5205dc5dcb8cbe 100644 (file)
@@ -92,7 +92,8 @@ DEF_SME_FUNCTION (svstr_zt, str_zt, none, none)
 DEF_SME_FUNCTION (svzero_zt, inherent_zt, none, none)
 #undef REQUIRED_EXTENSIONS
 
-#define REQUIRED_EXTENSIONS streaming_only (AARCH64_FL_SME2 && AARCH64_FL_FAMINMAX)
+#define REQUIRED_EXTENSIONS streaming_only (AARCH64_FL_SME2 \
+                                           | AARCH64_FL_FAMINMAX)
 DEF_SME_FUNCTION_GS (svamin, binary_opt_single_n, all_float, x24, none)
 DEF_SME_FUNCTION_GS (svamax, binary_opt_single_n, all_float, x24, none)
 #undef REQUIRED_EXTENSIONS
diff --git a/gcc/testsuite/gcc.target/aarch64/pr121300.c b/gcc/testsuite/gcc.target/aarch64/pr121300.c
new file mode 100644 (file)
index 0000000..5f2cd9a
--- /dev/null
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-S -O3 -march=armv9-a+sme2" } */
+
+#include <arm_sme.h>
+
+svfloat16x2_t test (svfloat16x2_t zd, svfloat16x2_t zm) __arm_streaming
+{
+    return svamin_f16_x2 (zd, zm); // { dg-error "ACLE function .svamin_f16_x2. requires ISA extension .faminmax." }
+}