diff mbox series

[6/8] testsuite/arm: Fix -mfloat-abi order in arm_v8_2a_bf16_neon_ok_nocache and arm_v8_2a_i8mm_ok_nocache

Message ID 1616509970-26398-7-git-send-email-christophe.lyon@linaro.org
State New
Headers show
Series testsuite/arm: Various cleanups | expand

Commit Message

Christophe Lyon March 23, 2021, 2:32 p.m. UTC
Make the order in which we try -mfloat-abi options consistent with the
other similar effective targets: try softfp first, then hard.

This shows that a few tests implicitly rely on -mfloat-abi=hard, so we
now check arm_hard_ok where needed.

This makes these tests unsupported rather than fail on
arm-linux-gnueabi.

2021-03-19  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/testsuite/
	* lib/target-supports.exp
	(check_effective_target_arm_v8_2a_i8mm_ok_nocache): Fix
	-mfloat-abi= options order.
	(check_effective_target_arm_v8_2a_bf16_neon_ok_nocache): Likewise.
	* gcc.target/arm/bfloat16_scalar_1_1.c: Add arm_hard_ok effective
	target and -mfloat-abi=hard additional option.
	* gcc.target/arm/bfloat16_simd_1_1.c: Likewise.
	* gcc.target/arm/simd/bf16_ma_1.c: Likewise.
	* gcc.target/arm/simd/bf16_mmla_1.c: Likewise.
	* gcc.target/arm/simd/vdot-2-1.c: Likewise.
	* gcc.target/arm/simd/vdot-2-2.c: Likewise.
---
 gcc/testsuite/gcc.target/arm/bfloat16_scalar_1_1.c | 3 ++-
 gcc/testsuite/gcc.target/arm/bfloat16_simd_1_1.c   | 3 ++-
 gcc/testsuite/gcc.target/arm/simd/bf16_ma_1.c      | 3 ++-
 gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c    | 3 ++-
 gcc/testsuite/gcc.target/arm/simd/vdot-2-1.c       | 3 ++-
 gcc/testsuite/gcc.target/arm/simd/vdot-2-2.c       | 3 ++-
 gcc/testsuite/lib/target-supports.exp              | 4 ++--
 7 files changed, 14 insertions(+), 8 deletions(-)

Comments

Kyrylo Tkachov March 23, 2021, 2:57 p.m. UTC | #1
> -----Original Message-----
> From: Gcc-patches <gcc-patches-bounces@gcc.gnu.org> On Behalf Of
> Christophe Lyon via Gcc-patches
> Sent: 23 March 2021 14:33
> To: gcc-patches@gcc.gnu.org
> Subject: [PATCH 6/8] testsuite/arm: Fix -mfloat-abi order in
> arm_v8_2a_bf16_neon_ok_nocache and arm_v8_2a_i8mm_ok_nocache
> 
> Make the order in which we try -mfloat-abi options consistent with the
> other similar effective targets: try softfp first, then hard.
> 
> This shows that a few tests implicitly rely on -mfloat-abi=hard, so we
> now check arm_hard_ok where needed.
> 
> This makes these tests unsupported rather than fail on
> arm-linux-gnueabi.
> 

Ok.
Thanks,
Kyrill

> 2021-03-19  Christophe Lyon  <christophe.lyon@linaro.org>
> 
> 	gcc/testsuite/
> 	* lib/target-supports.exp
> 	(check_effective_target_arm_v8_2a_i8mm_ok_nocache): Fix
> 	-mfloat-abi= options order.
> 	(check_effective_target_arm_v8_2a_bf16_neon_ok_nocache):
> Likewise.
> 	* gcc.target/arm/bfloat16_scalar_1_1.c: Add arm_hard_ok effective
> 	target and -mfloat-abi=hard additional option.
> 	* gcc.target/arm/bfloat16_simd_1_1.c: Likewise.
> 	* gcc.target/arm/simd/bf16_ma_1.c: Likewise.
> 	* gcc.target/arm/simd/bf16_mmla_1.c: Likewise.
> 	* gcc.target/arm/simd/vdot-2-1.c: Likewise.
> 	* gcc.target/arm/simd/vdot-2-2.c: Likewise.
> ---
>  gcc/testsuite/gcc.target/arm/bfloat16_scalar_1_1.c | 3 ++-
>  gcc/testsuite/gcc.target/arm/bfloat16_simd_1_1.c   | 3 ++-
>  gcc/testsuite/gcc.target/arm/simd/bf16_ma_1.c      | 3 ++-
>  gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c    | 3 ++-
>  gcc/testsuite/gcc.target/arm/simd/vdot-2-1.c       | 3 ++-
>  gcc/testsuite/gcc.target/arm/simd/vdot-2-2.c       | 3 ++-
>  gcc/testsuite/lib/target-supports.exp              | 4 ++--
>  7 files changed, 14 insertions(+), 8 deletions(-)
> 
> diff --git a/gcc/testsuite/gcc.target/arm/bfloat16_scalar_1_1.c
> b/gcc/testsuite/gcc.target/arm/bfloat16_scalar_1_1.c
> index efcc561..7a6c177 100644
> --- a/gcc/testsuite/gcc.target/arm/bfloat16_scalar_1_1.c
> +++ b/gcc/testsuite/gcc.target/arm/bfloat16_scalar_1_1.c
> @@ -1,7 +1,8 @@
>  /* { dg-do assemble { target { arm*-*-* } } } */
> +/* { dg-require-effective-target arm_hard_ok } */
>  /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
>  /* { dg-add-options arm_v8_2a_bf16_neon }  */
> -/* { dg-additional-options "-O3 --save-temps -std=gnu90" } */
> +/* { dg-additional-options "-O3 --save-temps -std=gnu90 -mfloat-abi=hard" }
> */
>  /* { dg-final { check-function-bodies "**" "" } } */
> 
>  #include <arm_bf16.h>
> diff --git a/gcc/testsuite/gcc.target/arm/bfloat16_simd_1_1.c
> b/gcc/testsuite/gcc.target/arm/bfloat16_simd_1_1.c
> index cad7d54..72b4a1b 100644
> --- a/gcc/testsuite/gcc.target/arm/bfloat16_simd_1_1.c
> +++ b/gcc/testsuite/gcc.target/arm/bfloat16_simd_1_1.c
> @@ -1,7 +1,8 @@
>  /* { dg-do assemble { target { arm*-*-* } } } */
> +/* { dg-require-effective-target arm_hard_ok } */
>  /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
>  /* { dg-add-options arm_v8_2a_bf16_neon }  */
> -/* { dg-additional-options "-O3 --save-temps -std=gnu90" } */
> +/* { dg-additional-options "-O3 --save-temps -std=gnu90 -mfloat-abi=hard" }
> */
>  /* { dg-final { check-function-bodies "**" "" } } */
> 
>  #include <arm_neon.h>
> diff --git a/gcc/testsuite/gcc.target/arm/simd/bf16_ma_1.c
> b/gcc/testsuite/gcc.target/arm/simd/bf16_ma_1.c
> index 6729af7..c043049 100644
> --- a/gcc/testsuite/gcc.target/arm/simd/bf16_ma_1.c
> +++ b/gcc/testsuite/gcc.target/arm/simd/bf16_ma_1.c
> @@ -1,7 +1,8 @@
>  /* { dg-do assemble } */
> +/* { dg-require-effective-target arm_hard_ok } */
>  /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
>  /* { dg-add-options arm_v8_2a_bf16_neon } */
> -/* { dg-additional-options "-save-temps -O2" }  */
> +/* { dg-additional-options "-save-temps -O2 -mfloat-abi=hard" }  */
>  /* { dg-final { check-function-bodies "**" "" } } */
> 
>  #include "arm_neon.h"
> diff --git a/gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c
> b/gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c
> index 5f9c85b..cc64e23 100644
> --- a/gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c
> +++ b/gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c
> @@ -1,7 +1,8 @@
>  /* { dg-do assemble } */
> +/* { dg-require-effective-target arm_hard_ok } */
>  /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
>  /* { dg-add-options arm_v8_2a_bf16_neon } */
> -/* { dg-additional-options "-save-temps -O2" } */
> +/* { dg-additional-options "-save-temps -O2 -mfloat-abi=hard" } */
>  /* { dg-final { check-function-bodies "**" "" } } */
> 
>  #include <arm_neon.h>
> diff --git a/gcc/testsuite/gcc.target/arm/simd/vdot-2-1.c
> b/gcc/testsuite/gcc.target/arm/simd/vdot-2-1.c
> index 4d5f07b..88b80cf 100644
> --- a/gcc/testsuite/gcc.target/arm/simd/vdot-2-1.c
> +++ b/gcc/testsuite/gcc.target/arm/simd/vdot-2-1.c
> @@ -1,7 +1,8 @@
>  /* { dg-do assemble { target { arm*-*-* } } } */
> +/* { dg-require-effective-target arm_hard_ok } */
>  /* { dg-require-effective-target arm_v8_2a_i8mm_ok } */
>  /* { dg-add-options arm_v8_2a_i8mm }  */
> -/* { dg-additional-options "-O -save-temps" } */
> +/* { dg-additional-options "-O -save-temps -mfloat-abi=hard" } */
>  /* { dg-final { check-function-bodies "**" "" } } */
> 
>  #include <arm_neon.h>
> diff --git a/gcc/testsuite/gcc.target/arm/simd/vdot-2-2.c
> b/gcc/testsuite/gcc.target/arm/simd/vdot-2-2.c
> index b7b76e2..1c74718 100644
> --- a/gcc/testsuite/gcc.target/arm/simd/vdot-2-2.c
> +++ b/gcc/testsuite/gcc.target/arm/simd/vdot-2-2.c
> @@ -1,7 +1,8 @@
>  /* { dg-do assemble { target { arm*-*-* } } } */
> +/* { dg-require-effective-target arm_hard_ok } */
>  /* { dg-require-effective-target arm_v8_2a_i8mm_ok } */
>  /* { dg-add-options arm_v8_2a_i8mm }  */
> -/* { dg-additional-options "-O -save-temps -mbig-endian" } */
> +/* { dg-additional-options "-O -save-temps -mbig-endian -mfloat-abi=hard" }
> */
>  /* { dg-final { check-function-bodies "**" "" } } */
> 
>  #include <arm_neon.h>
> diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-
> supports.exp
> index a90c375..e42d711 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -5267,7 +5267,7 @@ proc
> check_effective_target_arm_v8_2a_i8mm_ok_nocache { } {
> 
>      # Iterate through sets of options to find the compiler flags that
>      # need to be added to the -march option.
> -    foreach flags {"" "-mfloat-abi=hard -mfpu=neon-fp-armv8" "-mfloat-
> abi=softfp -mfpu=neon-fp-armv8" } {
> +    foreach flags {"" "-mfloat-abi=softfp -mfpu=neon-fp-armv8" "-mfloat-
> abi=hard -mfpu=neon-fp-armv8" } {
>          if { [check_no_compiler_messages_nocache \
>                    arm_v8_2a_i8mm_ok object {
>              #include <arm_neon.h>
> @@ -5352,7 +5352,7 @@ proc
> check_effective_target_arm_v8_2a_bf16_neon_ok_nocache { } {
>          return 0;
>      }
> 
> -    foreach flags {"" "-mfloat-abi=hard -mfpu=neon-fp-armv8" "-mfloat-
> abi=softfp -mfpu=neon-fp-armv8" } {
> +    foreach flags {"" "-mfloat-abi=softfp -mfpu=neon-fp-armv8" "-mfloat-
> abi=hard -mfpu=neon-fp-armv8" } {
>          if { [check_no_compiler_messages_nocache arm_v8_2a_bf16_neon_ok
> object {
>              #include <arm_neon.h>
>              #if !defined (__ARM_FEATURE_BF16_VECTOR_ARITHMETIC)
> --
> 2.7.4
diff mbox series

Patch

diff --git a/gcc/testsuite/gcc.target/arm/bfloat16_scalar_1_1.c b/gcc/testsuite/gcc.target/arm/bfloat16_scalar_1_1.c
index efcc561..7a6c177 100644
--- a/gcc/testsuite/gcc.target/arm/bfloat16_scalar_1_1.c
+++ b/gcc/testsuite/gcc.target/arm/bfloat16_scalar_1_1.c
@@ -1,7 +1,8 @@ 
 /* { dg-do assemble { target { arm*-*-* } } } */
+/* { dg-require-effective-target arm_hard_ok } */
 /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
 /* { dg-add-options arm_v8_2a_bf16_neon }  */
-/* { dg-additional-options "-O3 --save-temps -std=gnu90" } */
+/* { dg-additional-options "-O3 --save-temps -std=gnu90 -mfloat-abi=hard" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
 #include <arm_bf16.h>
diff --git a/gcc/testsuite/gcc.target/arm/bfloat16_simd_1_1.c b/gcc/testsuite/gcc.target/arm/bfloat16_simd_1_1.c
index cad7d54..72b4a1b 100644
--- a/gcc/testsuite/gcc.target/arm/bfloat16_simd_1_1.c
+++ b/gcc/testsuite/gcc.target/arm/bfloat16_simd_1_1.c
@@ -1,7 +1,8 @@ 
 /* { dg-do assemble { target { arm*-*-* } } } */
+/* { dg-require-effective-target arm_hard_ok } */
 /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
 /* { dg-add-options arm_v8_2a_bf16_neon }  */
-/* { dg-additional-options "-O3 --save-temps -std=gnu90" } */
+/* { dg-additional-options "-O3 --save-temps -std=gnu90 -mfloat-abi=hard" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
 #include <arm_neon.h>
diff --git a/gcc/testsuite/gcc.target/arm/simd/bf16_ma_1.c b/gcc/testsuite/gcc.target/arm/simd/bf16_ma_1.c
index 6729af7..c043049 100644
--- a/gcc/testsuite/gcc.target/arm/simd/bf16_ma_1.c
+++ b/gcc/testsuite/gcc.target/arm/simd/bf16_ma_1.c
@@ -1,7 +1,8 @@ 
 /* { dg-do assemble } */
+/* { dg-require-effective-target arm_hard_ok } */
 /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
 /* { dg-add-options arm_v8_2a_bf16_neon } */
-/* { dg-additional-options "-save-temps -O2" }  */
+/* { dg-additional-options "-save-temps -O2 -mfloat-abi=hard" }  */
 /* { dg-final { check-function-bodies "**" "" } } */
 
 #include "arm_neon.h"
diff --git a/gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c b/gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c
index 5f9c85b..cc64e23 100644
--- a/gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c
+++ b/gcc/testsuite/gcc.target/arm/simd/bf16_mmla_1.c
@@ -1,7 +1,8 @@ 
 /* { dg-do assemble } */
+/* { dg-require-effective-target arm_hard_ok } */
 /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
 /* { dg-add-options arm_v8_2a_bf16_neon } */
-/* { dg-additional-options "-save-temps -O2" } */
+/* { dg-additional-options "-save-temps -O2 -mfloat-abi=hard" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
 #include <arm_neon.h>
diff --git a/gcc/testsuite/gcc.target/arm/simd/vdot-2-1.c b/gcc/testsuite/gcc.target/arm/simd/vdot-2-1.c
index 4d5f07b..88b80cf 100644
--- a/gcc/testsuite/gcc.target/arm/simd/vdot-2-1.c
+++ b/gcc/testsuite/gcc.target/arm/simd/vdot-2-1.c
@@ -1,7 +1,8 @@ 
 /* { dg-do assemble { target { arm*-*-* } } } */
+/* { dg-require-effective-target arm_hard_ok } */
 /* { dg-require-effective-target arm_v8_2a_i8mm_ok } */
 /* { dg-add-options arm_v8_2a_i8mm }  */
-/* { dg-additional-options "-O -save-temps" } */
+/* { dg-additional-options "-O -save-temps -mfloat-abi=hard" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
 #include <arm_neon.h>
diff --git a/gcc/testsuite/gcc.target/arm/simd/vdot-2-2.c b/gcc/testsuite/gcc.target/arm/simd/vdot-2-2.c
index b7b76e2..1c74718 100644
--- a/gcc/testsuite/gcc.target/arm/simd/vdot-2-2.c
+++ b/gcc/testsuite/gcc.target/arm/simd/vdot-2-2.c
@@ -1,7 +1,8 @@ 
 /* { dg-do assemble { target { arm*-*-* } } } */
+/* { dg-require-effective-target arm_hard_ok } */
 /* { dg-require-effective-target arm_v8_2a_i8mm_ok } */
 /* { dg-add-options arm_v8_2a_i8mm }  */
-/* { dg-additional-options "-O -save-temps -mbig-endian" } */
+/* { dg-additional-options "-O -save-temps -mbig-endian -mfloat-abi=hard" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
 #include <arm_neon.h>
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index a90c375..e42d711 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -5267,7 +5267,7 @@  proc check_effective_target_arm_v8_2a_i8mm_ok_nocache { } {
 
     # Iterate through sets of options to find the compiler flags that
     # need to be added to the -march option.
-    foreach flags {"" "-mfloat-abi=hard -mfpu=neon-fp-armv8" "-mfloat-abi=softfp -mfpu=neon-fp-armv8" } {
+    foreach flags {"" "-mfloat-abi=softfp -mfpu=neon-fp-armv8" "-mfloat-abi=hard -mfpu=neon-fp-armv8" } {
         if { [check_no_compiler_messages_nocache \
                   arm_v8_2a_i8mm_ok object {
             #include <arm_neon.h>
@@ -5352,7 +5352,7 @@  proc check_effective_target_arm_v8_2a_bf16_neon_ok_nocache { } {
         return 0;
     }
 
-    foreach flags {"" "-mfloat-abi=hard -mfpu=neon-fp-armv8" "-mfloat-abi=softfp -mfpu=neon-fp-armv8" } {
+    foreach flags {"" "-mfloat-abi=softfp -mfpu=neon-fp-armv8" "-mfloat-abi=hard -mfpu=neon-fp-armv8" } {
         if { [check_no_compiler_messages_nocache arm_v8_2a_bf16_neon_ok object {
             #include <arm_neon.h>
             #if !defined (__ARM_FEATURE_BF16_VECTOR_ARITHMETIC)