]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: require arm_v8_3a_fp16_complex_neon for complex fp16 tests
authorArtemiy Volkov <artemiy.volkov@arm.com>
Thu, 8 Jan 2026 11:51:06 +0000 (11:51 +0000)
committerRichard Earnshaw <rearnsha@arm.com>
Thu, 29 Jan 2026 17:19:14 +0000 (17:19 +0000)
Changes to target-supports.exp from r16-6519-g56dd47c073cabf introduced
some new failures for complex fp16 tests with some arm-eabi targets
configured with -mfpu=auto.  This patch fixes those by (a) requiring the
full arm_v8_3a_fp16_complex_neon_ok target instead of just float16 in
vect/complex fp16 tests, and (b) simplifying down to one
dg-require-effective-target and one dg-add-options and removing the
explicit -march in advsimd-intrinsics/vector-complex_f16.c.

Regtested on aarch64, and the Linaro CI also delivers a positive verdict
for the relevant cortex-m33/-m3/-m55/-m7 configurations (after the
accompanying patch to target-supports.exp that follows).  Huge thanks to
Christophe for testing this on arm.

gcc/testsuite/ChangeLog:

* gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c:
Adjust testcase.
* gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c:
Likewise.
* gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c:
Likewise.
* gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c:
Likewise.
* gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c:
Likewise.
* gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Likewise.
* gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c:
Likewise.
* gcc.dg/vect/complex/fast-math-complex-mla-half-float.c:
Likewise.
* gcc.dg/vect/complex/fast-math-complex-mls-half-float.c:
Likewise.
* gcc.dg/vect/complex/fast-math-complex-mul-half-float.c:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vector-complex_f16.c:
Likewise.

gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c
gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c
gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c
gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c
gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c
gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c
gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c
gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c
gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c
gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c
gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vector-complex_f16.c

index c486fba13d75998dcb48004f9c0c51987d30eb6c..3f1cce5695581fafc8d0b2a4c7962faa1c2d5707 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target vect_complex_add_half } */
-/* { dg-require-effective-target float16 } */
+/* { dg-require-effective-target arm_v8_3a_fp16_complex_neon_ok } */
 /* { dg-additional-options "-ffast-math -fno-tree-loop-vectorize" } */
 /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
 
index ae1e02e301e3fc0368d47cbf6d68580b8b816ae5..3f0092f773c761df21827b93b544d9275b39c29f 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target vect_complex_add_half } */
-/* { dg-require-effective-target float16 } */
+/* { dg-require-effective-target arm_v8_3a_fp16_complex_neon_ok } */
 /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
 /* { dg-additional-options "-ffast-math -fno-tree-loop-vectorize" } */
 
index 38158b97d15ea5a1c451ce1f7010db736ef1e313..33e500f3f4cd05c829be5f261785d1f0c7e05c3c 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target vect_complex_add_half } */
-/* { dg-require-effective-target float16 } */
+/* { dg-require-effective-target arm_v8_3a_fp16_complex_neon_ok } */
 /* { dg-additional-options "-ffast-math -fno-tree-loop-vectorize" } */
 /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
 
index fb1e02c7fa5d7d14fe5cd0789543fd8962d5b8e8..7dbe82003517a23554dc97ef6834dbe2e9d4c4fe 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target vect_complex_add_half } */
-/* { dg-require-effective-target float16 } */
+/* { dg-require-effective-target arm_v8_3a_fp16_complex_neon_ok } */
 /* { dg-additional-options "-ffast-math -fno-tree-loop-vectorize" } */
 /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
 
index 8df4f2cba813a3d66d06c22b95753ea70700763a..259dd6b2e0676461de594cc7fa66469690674271 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target vect_complex_add_half } */
-/* { dg-require-effective-target float16 } */
+/* { dg-require-effective-target arm_v8_3a_fp16_complex_neon_ok } */
 /* { dg-additional-options "-ffast-math -fno-tree-loop-vectorize" } */
 /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
 
index 1cafb4f1c3a6de9de771172e397e8792580db33a..9f18884254439878db85ef95e43d083fe240dada 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
 /* { dg-additional-options "-ffast-math --param vect-epilogues-nomask=0" } */
 /* { dg-require-effective-target vect_complex_add_half } */
-/* { dg-require-effective-target float16 } */
+/* { dg-require-effective-target arm_v8_3a_fp16_complex_neon_ok } */
 /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
 
 #define TYPE _Float16
index 18e0800eb85a3585d3e2a900a1b4b8584a18f0e1..0bf97e53e40f6a6d40c57ffc3088f0395835d93e 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
 /* { dg-additional-options "-ffast-math" } */
 /* { dg-require-effective-target vect_complex_add_half } */
-/* { dg-require-effective-target float16 } */
+/* { dg-require-effective-target arm_v8_3a_fp16_complex_neon_ok } */
 /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
 
 #define TYPE _Float16
index b4236988f4487fce5a9999222e3f4a0f113ad253..9c1424e52d42e2be05ea4158e416dd7ed404f8de 100644 (file)
@@ -1,8 +1,8 @@
 /* { dg-do compile } */
 /* { dg-additional-options "-ffast-math" } */
-/* { dg-add-options arm_v8_3a_fp16_complex_neon } */
 /* { dg-require-effective-target vect_complex_add_half } */
-/* { dg-require-effective-target float16 } */
+/* { dg-require-effective-target arm_v8_3a_fp16_complex_neon_ok } */
+/* { dg-add-options arm_v8_3a_fp16_complex_neon } */
 
 #define TYPE _Float16
 #define N 200
index fb7e9a5619e9ef5b3aa5f54eb8906c7971ad71ed..5a700c091d4387f32bd7d13f2624565c3c09ea13 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
 /* { dg-additional-options "-ffast-math" } */
 /* { dg-require-effective-target vect_complex_add_half } */
-/* { dg-require-effective-target float16 } */
+/* { dg-require-effective-target arm_v8_3a_fp16_complex_neon_ok } */
 /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
 
 #define TYPE _Float16
index 0bc8951371f2bd50938474fc5fa4de2b4e1a67e9..8793eff0aff9799895c0e65cb876b70fc25ef16e 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
 /* { dg-additional-options "-ffast-math" } */
 /* { dg-require-effective-target vect_complex_add_half } */
-/* { dg-require-effective-target float16 } */
+/* { dg-require-effective-target arm_v8_3a_fp16_complex_neon_ok } */
 /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
 
 #define TYPE _Float16
index 53442492b3b7e71b87741a7bb1fcc791f311024f..17277c14d326545e1f4a8874210451bf21b484c7 100644 (file)
@@ -1,9 +1,7 @@
 /* { dg-do compile } */
-/* { dg-require-effective-target arm_v8_3a_complex_neon_ok } */
-/* { dg-require-effective-target arm_v8_2a_fp16_neon_ok } */
-/* { dg-add-options arm_v8_3a_complex_neon } */
-/* { dg-add-options arm_v8_2a_fp16_neon } */
-/* { dg-additional-options "-O2 -march=armv8.3-a+fp16 -save-temps" } */
+/* { dg-require-effective-target arm_v8_3a_fp16_complex_neon_ok } */
+/* { dg-add-options arm_v8_3a_fp16_complex_neon } */
+/* { dg-additional-options "-O2 -save-temps" } */
 
 #include <arm_neon.h>