> -----Original Message-----
> From: Gcc-patches <gcc-patches-boun...@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.l...@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

Reply via email to