On 07/10/2026 15:11, Christophe Lyon wrote:
> With modern DejaGnu, dg-options / dg-add-options override multilibs
> settings (from RUNTESTFLAGS), so we can remove these useless
> dg-skip-if directives.
> 
> In some tests, make use of arm_arch* and related effecive-targets.
> 
> * In gcc.target/arm/asm-flag-4.c: use an empty dg-options directive,
>   to remove -ansi -pedantic-errors options which otherwise make
>   compilation fail (the previous options are now provided via
>   dg-add-options arm_arch_v4t).
> 
> * In gcc/testsuite/gcc.target/arm/lob3.c and lob4.c: keep
>   -mfloat-abi=soft as part of dg-options because -mfloat-abi is not
>   provided by arm_soft_ok.
> 
> * In gcc.target/arm/mve/intrinsics/mve_libcall1.c and mve_libcall2.c:
>   use arm_v8_1m_mve_nofp_ok instead of arm_v8_1m_mve_ok, because the
>   tests rely on the absence of FP support (there were previously
>   testing arm_v8_1m_mve_ok, but using -march=armv8.1-m.main+mve).
> 
> Tested on:
> -marm/-march=armv7-a/-mfloat-abi=soft
> -marm/-march=armv7-a+fp/-mfloat-abi=softfp
> -mthumb/-march=armv6s-m/-mtune=cortex-m0
> -mthumb/-march=armv7-m/-mtune=cortex-m3/-mfloat-abi=softfp
> -mthumb/-march=armv7e-m+fp/-mtune=cortex-m4/-mfloat-abi=hard
> -mthumb/-march=armv7e-m+fp.dp/-mtune=cortex-m7/-mfloat-abi=hard
> -mthumb/-march=armv8-m.base/-mtune=cortex-m23/-mfloat-abi=soft
> -mthumb/-march=armv8-m.main+dsp+fp/-mtune=cortex-m33/-mfloat-abi=hard
> -mthumb/-march=armv8.1-m.main+mve.fp+fp.dp/-mtune=cortex-m55/-mfloat-abi=hard
> -mthumb/-march=armv7-a/-mfpu=vfpv3-d16/-mfloat-abi=softfp
> -mthumb/-march=armv8-a+simd+crypto/-mfloat-abi=hard
> 
> The updated tests now PASS on more of the variants above.
> 
> gcc/testsuite/ChangeLog:
> 
>       * gcc.target/arm/pr51835.c: Remove useless dg-skip-if.
>       * gcc.target/arm/f16_f64_conv_no_dp.c: Likewise.
>       * gcc.c-torture/compile/pr82096.c: Likewise.
>       * gcc.target/arm/fma.c: Likewise.
>       * gcc.target/arm/mve/intrinsics/mve_vector_float.c: Likewise.
>       * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise.
>       * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise.
>       * gcc.target/arm/mve/intrinsics/mve_vector_int2.c: Likewise.
>       * gcc.target/arm/pr60650.c: Likewise.
>       * gcc.target/arm/pr65710.c: Likewise.
>       * gcc.target/arm/pr7676.c: Likewise.
>       * gcc.target/arm/pr88850-2.c: Likewise.
>       * gcc.target/arm/pr94743-1-hard.c: Likewise.
>       * gcc.target/arm/pr94743-1-soft.c: Likewise.
>       * gcc.target/arm/pr94743-1-softfp.c: Likewise.
>       * gcc.target/arm/pr94743-3.c: Likewise.
>       * gcc.target/arm/size-optimization-ieee-1.c: Likewise.
>       * gcc.target/arm/size-optimization-ieee-2.c: Likewise.
>       * gcc.target/arm/size-optimization-ieee-3.c: Likewise.
>       * gcc.target/arm/asm-flag-4.c: Remove useless dg-skip-if. Update
>       dg-options.
>       * gcc.target/arm/lob3.c: Likewise.
>       * gcc.target/arm/lob4.c: Likewise.
>       * gcc.target/arm/mve/intrinsics/mve_libcall1.c: Likewise.
>       * gcc.target/arm/mve/intrinsics/mve_libcall2.c: Likewise.
>       * gcc.target/arm/pr51915.c: Likewise.
>       * gcc.target/arm/pr52006.c: Likewise.
>       * gcc.target/arm/pr53187.c: Likewise.
>       * gcc.target/arm/pr70278.c: Likewise.
>       * gcc.target/arm/pr82989.c: Likewise.
>       * gcc.target/arm/pr88850.c: Likewise.
> ---
>  gcc/testsuite/gcc.c-torture/compile/pr82096.c             | 1 -
>  gcc/testsuite/gcc.target/arm/asm-flag-4.c                 | 4 ++--
>  gcc/testsuite/gcc.target/arm/f16_f64_conv_no_dp.c         | 3 ---
>  gcc/testsuite/gcc.target/arm/fma.c                        | 3 ---
>  gcc/testsuite/gcc.target/arm/lob3.c                       | 7 ++++---
>  gcc/testsuite/gcc.target/arm/lob4.c                       | 7 ++++---
>  .../gcc.target/arm/mve/intrinsics/mve_libcall1.c          | 6 +++---
>  .../gcc.target/arm/mve/intrinsics/mve_libcall2.c          | 6 +++---
>  .../gcc.target/arm/mve/intrinsics/mve_vector_float.c      | 1 -
>  .../gcc.target/arm/mve/intrinsics/mve_vector_float1.c     | 1 -
>  .../gcc.target/arm/mve/intrinsics/mve_vector_int1.c       | 1 -
>  .../gcc.target/arm/mve/intrinsics/mve_vector_int2.c       | 1 -
>  gcc/testsuite/gcc.target/arm/pr51835.c                    | 3 ---
>  gcc/testsuite/gcc.target/arm/pr51915.c                    | 6 +++---
>  gcc/testsuite/gcc.target/arm/pr52006.c                    | 6 +++---
>  gcc/testsuite/gcc.target/arm/pr53187.c                    | 6 +++---
>  gcc/testsuite/gcc.target/arm/pr60650.c                    | 1 -
>  gcc/testsuite/gcc.target/arm/pr65710.c                    | 1 -
>  gcc/testsuite/gcc.target/arm/pr70278.c                    | 8 ++------
>  gcc/testsuite/gcc.target/arm/pr7676.c                     | 1 -
>  gcc/testsuite/gcc.target/arm/pr82989.c                    | 5 +----
>  gcc/testsuite/gcc.target/arm/pr88850-2.c                  | 1 -
>  gcc/testsuite/gcc.target/arm/pr88850.c                    | 6 +++---
>  gcc/testsuite/gcc.target/arm/pr94743-1-hard.c             | 1 -
>  gcc/testsuite/gcc.target/arm/pr94743-1-soft.c             | 1 -
>  gcc/testsuite/gcc.target/arm/pr94743-1-softfp.c           | 1 -
>  gcc/testsuite/gcc.target/arm/pr94743-3.c                  | 1 -
>  gcc/testsuite/gcc.target/arm/size-optimization-ieee-1.c   | 1 -
>  gcc/testsuite/gcc.target/arm/size-optimization-ieee-2.c   | 1 -
>  gcc/testsuite/gcc.target/arm/size-optimization-ieee-3.c   | 1 -
>  30 files changed, 31 insertions(+), 61 deletions(-)
> 
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr82096.c 
> b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> index 4e695cd7e2e..1d2995b681d 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> @@ -1,5 +1,4 @@
>  /* { dg-require-effective-target arm_arch_v5t_thumb_ok { target arm*-*-* } } 
> */
> -/* { dg-skip-if "Do not combine float-abi values" { arm*-*-* } { 
> "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
>  /* { dg-additional-options "-march=armv5t -mthumb -mfloat-abi=soft" { target 
> arm*-*-* } } */
>  
>  static long long AL[24];
> diff --git a/gcc/testsuite/gcc.target/arm/asm-flag-4.c 
> b/gcc/testsuite/gcc.target/arm/asm-flag-4.c
> index 6841b6ea1e2..f60e94d9d2c 100644
> --- a/gcc/testsuite/gcc.target/arm/asm-flag-4.c
> +++ b/gcc/testsuite/gcc.target/arm/asm-flag-4.c
> @@ -1,8 +1,8 @@
>  /* Test that we do not ice in thumb1 mode */
>  /* { dg-do compile } */
>  /* { dg-require-effective-target arm_arch_v4t_thumb_ok } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> { "-mfloat-abi=softfp" } } */
> -/* { dg-options "-march=armv4t -mfloat-abi=softfp" } */
> +/* { dg-options "" } */ /* Remove -ansi -pedantic-errors flags.  */
> +/* { dg-add-options arm_arch_v4t } */
>  
>  void __attribute__((target("arm"))) f(char *out)
>  {
> diff --git a/gcc/testsuite/gcc.target/arm/f16_f64_conv_no_dp.c 
> b/gcc/testsuite/gcc.target/arm/f16_f64_conv_no_dp.c
> index 2620e570004..03052227b03 100644
> --- a/gcc/testsuite/gcc.target/arm/f16_f64_conv_no_dp.c
> +++ b/gcc/testsuite/gcc.target/arm/f16_f64_conv_no_dp.c
> @@ -1,8 +1,5 @@
>  /* { dg-do compile } */
>  /* { dg-require-effective-target arm_fp16_ok } */
> -/* { dg-skip-if "do not override fpu" { *-*-* } { "-mfpu=*" } { 
> "-mfpu=fpv5-sp-d16" } } */
> -/* { dg-skip-if "do not disable fpu" { *-*-* } { "-mfloat-abi=soft" } { * } 
> } */
> -/* { dg-skip-if "do not override fp16-format" { *-*-* } { "-mfp16-format=*" 
> } { "-mfp16-format=ieee" } } */
>  /* { dg-options "-O1 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mfp16-format=ieee" 
> } */
>  
>  __fp16 foo (double a)
> diff --git a/gcc/testsuite/gcc.target/arm/fma.c 
> b/gcc/testsuite/gcc.target/arm/fma.c
> index 704559a5791..f76538747cf 100644
> --- a/gcc/testsuite/gcc.target/arm/fma.c
> +++ b/gcc/testsuite/gcc.target/arm/fma.c
> @@ -1,8 +1,5 @@
>  /* { dg-do compile } */
>  /* { dg-skip-if "avoid conflicts with multilib options" { ! arm_thumb2_ok } 
> { "-mthumb" } { "" } } */
> -/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { 
> "-mcpu=*" } { "-mcpu=cortex-a15" } } */
> -/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { 
> "-mfpu=*" } { "-mfpu=vfpv4" } } */
> -/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { 
> "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
>  /* { dg-options "-O2 -mcpu=cortex-a15 -mfpu=vfpv4 -mfloat-abi=hard" } */
>  
>  #include "fma.h"
> diff --git a/gcc/testsuite/gcc.target/arm/lob3.c 
> b/gcc/testsuite/gcc.target/arm/lob3.c
> index f5290063f28..517900f35e1 100644
> --- a/gcc/testsuite/gcc.target/arm/lob3.c
> +++ b/gcc/testsuite/gcc.target/arm/lob3.c
> @@ -1,9 +1,10 @@
>  /* Check that GCC does not generate Armv8.1-M low over head loop instructions
>     if causes VFP emulation library calls to happen inside the loop.  */
>  /* { dg-do compile } */
> -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" 
> "-mcpu=*" "-mfloat-abi=hard" } } */
> -/* { dg-options "-march=armv8.1-m.main -mthumb -O3 --save-temps 
> -mfloat-abi=soft" } */
> -/* { dg-require-effective-target arm_softfloat } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_ok } */
> +/* { dg-require-effective-target arm_soft_ok } */
> +/* { dg-options "-O3 --save-temps -mfloat-abi=soft" } */
> +/* { dg-add-options arm_arch_v8_1m_main } */
>  #include <stdlib.h>
>  #include "lob.h"
>  
> diff --git a/gcc/testsuite/gcc.target/arm/lob4.c 
> b/gcc/testsuite/gcc.target/arm/lob4.c
> index 86c774e1b57..a820692898d 100644
> --- a/gcc/testsuite/gcc.target/arm/lob4.c
> +++ b/gcc/testsuite/gcc.target/arm/lob4.c
> @@ -1,9 +1,10 @@
>  /* Check that GCC does not generate Armv8.1-M low over head loop instructions
>     if LR is modified within the loop.  */
>  /* { dg-do compile } */
> -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" 
> "-mcpu=*" "-mfloat-abi=hard" } } */
> -/* { dg-options "-march=armv8.1-m.main -mthumb -O3 --save-temps 
> -mfloat-abi=soft" } */
> -/* { dg-require-effective-target arm_softfloat } */
> +/* { dg-require-effective-target arm_arch_v8_1m_main_ok } */
> +/* { dg-require-effective-target arm_soft_ok } */
> +/* { dg-options "-O3 --save-temps -mfloat-abi=soft" } */
> +/* { dg-add-options arm_arch_v8_1m_main } */
>  #include <stdlib.h>
>  #include "lob.h"
>  
> diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_libcall1.c 
> b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_libcall1.c
> index 222007f7ee2..a505705e11a 100644
> --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_libcall1.c
> +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_libcall1.c
> @@ -1,6 +1,6 @@
> -/* { dg-require-effective-target arm_v8_1m_mve_ok } */
> -/* { dg-skip-if "Incompatible float ABI" { *-*-* } { "-mfloat-abi=soft" } 
> {""} } */
> -/* { dg-additional-options "-march=armv8.1-m.main+mve -mfloat-abi=hard 
> -mthumb -mfpu=auto -mno-long-calls --save-temps" } */
> +/* { dg-require-effective-target arm_v8_1m_mve_nofp_ok } */
> +/* { dg-add-options arm_v8_1m_mve_nofp } */
> +/* { dg-additional-options "-mno-long-calls --save-temps" } */
>  
>  float
>  foo (float a, float b, float c)
> diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_libcall2.c 
> b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_libcall2.c
> index 42047a33fdf..becfe431dc4 100644
> --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_libcall2.c
> +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_libcall2.c
> @@ -1,6 +1,6 @@
> -/* { dg-require-effective-target arm_v8_1m_mve_ok } */
> -/* { dg-skip-if "Incompatible float ABI" { *-*-* } { "-mfloat-abi=soft" } 
> {""} } */
> -/* { dg-additional-options "-march=armv8.1-m.main+mve -mfloat-abi=hard 
> -mthumb -mfpu=auto -mno-long-calls --save-temps" } */
> +/* { dg-require-effective-target arm_v8_1m_mve_nofp_ok } */
> +/* { dg-add-options arm_v8_1m_mve_nofp } */
> +/* { dg-additional-options "-mno-long-calls --save-temps" } */
>  
>  double
>  foo (double a, double b, double c)
> diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_float.c 
> b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_float.c
> index 6519b81a0d5..edf741f7f84 100644
> --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_float.c
> +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_float.c
> @@ -1,6 +1,5 @@
>  /* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */
>  /* { dg-add-options arm_v8_1m_mve_fp } */
> -/* { dg-skip-if "Incompatible float ABI" { *-*-* } { "-mfloat-abi=soft" } 
> {""} } */
>  
>  #include "arm_mve.h"
>  
> diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_float1.c 
> b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_float1.c
> index 855e3b8845f..5ff0f090985 100644
> --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_float1.c
> +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_float1.c
> @@ -1,6 +1,5 @@
>  /* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */
>  /* { dg-add-options arm_v8_1m_mve_fp } */
> -/* { dg-skip-if "Incompatible float ABI" { *-*-* } { "-mfloat-abi=soft" } 
> {""} } */
>  
>  #include "arm_mve.h"
>  
> diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_int1.c 
> b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_int1.c
> index b13d0a81286..0c9da31dcd1 100644
> --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_int1.c
> +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_int1.c
> @@ -1,6 +1,5 @@
>  /* { dg-require-effective-target arm_v8_1m_mve_ok } */
>  /* { dg-add-options arm_v8_1m_mve } */
> -/* { dg-skip-if "Incompatible float ABI" { *-*-* } { "-mfloat-abi=soft" } 
> {""} } */
>  
>  #include "arm_mve.h"
>  
> diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_int2.c 
> b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_int2.c
> index 04403ee4938..92d708297c9 100644
> --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_int2.c
> +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_vector_int2.c
> @@ -1,6 +1,5 @@
>  /* { dg-require-effective-target arm_v8_1m_mve_ok } */
>  /* { dg-add-options arm_v8_1m_mve } */
> -/* { dg-skip-if "Incompatible float ABI" { *-*-* } { "-mfloat-abi=soft" } 
> {""} } */
>  
>  #include "arm_mve.h"
>  
> diff --git a/gcc/testsuite/gcc.target/arm/pr51835.c 
> b/gcc/testsuite/gcc.target/arm/pr51835.c
> index 157dcbf7fce..5a58747550f 100644
> --- a/gcc/testsuite/gcc.target/arm/pr51835.c
> +++ b/gcc/testsuite/gcc.target/arm/pr51835.c
> @@ -1,7 +1,4 @@
>  /* { dg-do compile } */
> -/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { 
> "-march=*" } { "" } } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> { "-mfloat-abi=hard" } } */
> -/* { dg-skip-if "avoid conflicting -mfpu" { *-*-* } { "-mfpu=*" } { 
> "-mfpu=fpv4-sp-d16" "-mfpu=vfpv3xd" "-mfpu=vfpv3xd-fp16" } } */
>  /* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { 
> "-mpure-code" } } */
>  /* { dg-options "-O2 -march=armv7-a -mfloat-abi=hard -mfpu=fpv4-sp-d16" }  */
>  
> diff --git a/gcc/testsuite/gcc.target/arm/pr51915.c 
> b/gcc/testsuite/gcc.target/arm/pr51915.c
> index d79f9b3e5bb..9eb84e86b1d 100644
> --- a/gcc/testsuite/gcc.target/arm/pr51915.c
> +++ b/gcc/testsuite/gcc.target/arm/pr51915.c
> @@ -1,9 +1,9 @@
>  /* PR target/51915 */
>  /* { dg-do compile } */
> -/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { 
> "-march=*" } { "" } } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> { "-mfloat-abi=hard" } } */
>  /* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { 
> "-mpure-code" } } */
> -/* { dg-options "-march=armv7-a+fp -mfloat-abi=hard -O2" } */
> +/* { dg-require-effective-target arm_arch_v7a_fp_hard_ok } */
> +/* { dg-options "-O2" } */
> +/* { dg-add-options arm_arch_v7a_fp_hard } */
>  
>  struct S { int s1; void *s2; };
>  struct T { struct S t1; unsigned long long t2; };
> diff --git a/gcc/testsuite/gcc.target/arm/pr52006.c 
> b/gcc/testsuite/gcc.target/arm/pr52006.c
> index f8188186087..d583f34f57f 100644
> --- a/gcc/testsuite/gcc.target/arm/pr52006.c
> +++ b/gcc/testsuite/gcc.target/arm/pr52006.c
> @@ -1,10 +1,10 @@
>  /* PR target/52006 */
>  /* { dg-do compile } */
> -/* { dg-skip-if "avoid conflicts with multilib flags" { *-*-* } { 
> "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
> -/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { 
> "-march=*" } { "" } } */
>  /* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { 
> "-mpure-code" } } */
> -/* { dg-options "-march=armv7-a+fp -mfloat-abi=hard -O2 -fPIC" } */
> +/* { dg-require-effective-target arm_arch_v7a_fp_hard_ok } */
>  /* { dg-require-effective-target fpic } */
> +/* { dg-options "-O2 -fPIC" } */
> +/* { dg-add-options arm_arch_v7a_fp_hard } */
>  
>  unsigned long a;
>  static int b;
> diff --git a/gcc/testsuite/gcc.target/arm/pr53187.c 
> b/gcc/testsuite/gcc.target/arm/pr53187.c
> index 59ca27ecefa..0ddf5c36ce4 100644
> --- a/gcc/testsuite/gcc.target/arm/pr53187.c
> +++ b/gcc/testsuite/gcc.target/arm/pr53187.c
> @@ -1,9 +1,9 @@
>  /* PR target/53187 */
>  /* { dg-do compile } */
> -/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { 
> "-march=*" } { "" } } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> { "-mfloat-abi=hard" } } */
>  /* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { 
> "-mpure-code" } } */
> -/* { dg-options "-march=armv7-a+fp -mfloat-abi=hard -O2" } */
> +/* { dg-require-effective-target arm_arch_v7a_fp_hard_ok } */
> +/* { dg-options "-O2" } */
> +/* { dg-add-options arm_arch_v7a_fp_hard } */
>  
>  void bar (int);
>  
> diff --git a/gcc/testsuite/gcc.target/arm/pr60650.c 
> b/gcc/testsuite/gcc.target/arm/pr60650.c
> index 734b41f001a..08e900b89d2 100644
> --- a/gcc/testsuite/gcc.target/arm/pr60650.c
> +++ b/gcc/testsuite/gcc.target/arm/pr60650.c
> @@ -1,5 +1,4 @@
>  /* { dg-do compile } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> {"-mfloat-abi=softfp" } } */
>  /* { dg-options "-O2 -fno-omit-frame-pointer -mabi=apcs-gnu 
> -mfloat-abi=softfp" } */
>  
>  
> diff --git a/gcc/testsuite/gcc.target/arm/pr65710.c 
> b/gcc/testsuite/gcc.target/arm/pr65710.c
> index 4cbf7817af7..34be852bb1c 100644
> --- a/gcc/testsuite/gcc.target/arm/pr65710.c
> +++ b/gcc/testsuite/gcc.target/arm/pr65710.c
> @@ -1,5 +1,4 @@
>  /* { dg-do compile } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> {"-mfloat-abi=soft" } } */
>  /* { dg-options "-mthumb -O2 -mfloat-abi=soft -w -fpermissive" } */
>  /* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
>  
> diff --git a/gcc/testsuite/gcc.target/arm/pr70278.c 
> b/gcc/testsuite/gcc.target/arm/pr70278.c
> index 97034166f46..9c4f85edf37 100644
> --- a/gcc/testsuite/gcc.target/arm/pr70278.c
> +++ b/gcc/testsuite/gcc.target/arm/pr70278.c
> @@ -1,10 +1,6 @@
>  /* { dg-do compile } */
> -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" 
> } { "-march=armv4t" } } */
> -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { 
> "" } } */
> -/* { dg-require-effective-target arm_arch_v4t_ok } */
> -/* { dg-require-effective-target arm_thumb1_ok } */
> -/* { dg-options "-mthumb" } */
> -/* { dg-add-options arm_arch_v4t } */
> +/* { dg-require-effective-target arm_arch_v4t_thumb_ok } */
> +/* { dg-add-options arm_arch_v4t_thumb } */
>  /*
>   * ====================================================
>   * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> diff --git a/gcc/testsuite/gcc.target/arm/pr7676.c 
> b/gcc/testsuite/gcc.target/arm/pr7676.c
> index 0e9095c63d3..7bcec183449 100644
> --- a/gcc/testsuite/gcc.target/arm/pr7676.c
> +++ b/gcc/testsuite/gcc.target/arm/pr7676.c
> @@ -1,7 +1,6 @@
>  /* { dg-do compile } */
>  /* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { 
> "-mpure-code" } } */
>  /* { dg-options "-O1 -march=armv8-a -mfloat-abi=soft -mthumb" }  */
> -/* { dg-skip-if "Do not combine float-abi= hard | soft | softfp" {*-*-*} 
> {"-mfloat-abi=hard" -mfloat-abi=softfp } {""} } */
>  int a;
>  
>  void fn2 (long long);
> diff --git a/gcc/testsuite/gcc.target/arm/pr82989.c 
> b/gcc/testsuite/gcc.target/arm/pr82989.c
> index 8519c3fdc82..188c7ae12d3 100644
> --- a/gcc/testsuite/gcc.target/arm/pr82989.c
> +++ b/gcc/testsuite/gcc.target/arm/pr82989.c
> @@ -1,10 +1,7 @@
>  /* PR target/82989.  */
>  /* { dg-do compile } */
>  /* { dg-require-effective-target arm_neon_ok } */
> -/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { 
> "-mcpu=*" } { "-mcpu=cortex-a8" } } */
> -/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { 
> "-mfpu=*" } { "-mfpu=neon" } } */
> -/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { 
> "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
> -/* { dg-options "-O2 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard" } */
> +/* { dg-options "-O2" } */
>  /* { dg-add-options arm_neon } */
>  
>  typedef unsigned long long uint64_t;
> diff --git a/gcc/testsuite/gcc.target/arm/pr88850-2.c 
> b/gcc/testsuite/gcc.target/arm/pr88850-2.c
> index f33361ca11d..7a1aec55dc7 100644
> --- a/gcc/testsuite/gcc.target/arm/pr88850-2.c
> +++ b/gcc/testsuite/gcc.target/arm/pr88850-2.c
> @@ -1,6 +1,5 @@
>  /* PR target/88850.  */
>  /* { dg-do compile } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> {"-mfloat-abi=softfp" } } */
>  /* { dg-additional-options "-O2 -march=armv7-a -fdump-rtl-final" } */
>  /* { dg-add-options arm_neon_softfp_fp16 } */
>  /* { dg-require-effective-target arm_neon_softfp_fp16_ok } */
> diff --git a/gcc/testsuite/gcc.target/arm/pr88850.c 
> b/gcc/testsuite/gcc.target/arm/pr88850.c
> index 365c9d73696..912c11a2ac4 100644
> --- a/gcc/testsuite/gcc.target/arm/pr88850.c
> +++ b/gcc/testsuite/gcc.target/arm/pr88850.c
> @@ -1,8 +1,8 @@
>  /* PR target/88850 */
>  /* { dg-do compile } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> {"-mfloat-abi=softfp" } } */
> -/* { dg-options "-O2 -march=armv7-a -mfloat-abi=softfp -mfpu=neon 
> -fdump-rtl-final" } */
> -/* { dg-require-effective-target arm_neon_ok } */
> +/* { dg-require-effective-target arm_arch_v7a_neon_ok } */
> +/* { dg-options "-O2 -fdump-rtl-final" } */
> +/* { dg-add-options arm_arch_v7a_neon } */
>  
>  typedef __builtin_neon_qi int8x8_t __attribute__ ((__vector_size__ (8)));
>  void bar (int8x8_t, int8x8_t);
> diff --git a/gcc/testsuite/gcc.target/arm/pr94743-1-hard.c 
> b/gcc/testsuite/gcc.target/arm/pr94743-1-hard.c
> index b4c961e288f..41c88f93739 100644
> --- a/gcc/testsuite/gcc.target/arm/pr94743-1-hard.c
> +++ b/gcc/testsuite/gcc.target/arm/pr94743-1-hard.c
> @@ -1,6 +1,5 @@
>  /* PR target/94743 */
>  /* { dg-do compile } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> {"-mfloat-abi=hard" } } */
>  /* { dg-require-effective-target arm_vfp_ok } */
>  /* { dg-add-options arm_vfp } */
>  /* Make sure with use -mfloat-abi=hard.  */
> diff --git a/gcc/testsuite/gcc.target/arm/pr94743-1-soft.c 
> b/gcc/testsuite/gcc.target/arm/pr94743-1-soft.c
> index e06a16d166c..145d38f6fcf 100644
> --- a/gcc/testsuite/gcc.target/arm/pr94743-1-soft.c
> +++ b/gcc/testsuite/gcc.target/arm/pr94743-1-soft.c
> @@ -2,7 +2,6 @@
>  /* { dg-do compile } */
>  /* Thumb1 mode not supported for interrupt routines.  */
>  /* { dg-require-effective-target arm32 } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> {"-mfloat-abi=soft" } } */
>  /* { dg-options "-mfloat-abi=soft" } */
>  
>  /* Check that we do not emit a warning when compiling an IRQ handler without
> diff --git a/gcc/testsuite/gcc.target/arm/pr94743-1-softfp.c 
> b/gcc/testsuite/gcc.target/arm/pr94743-1-softfp.c
> index 33202496c6c..d76cfabacb1 100644
> --- a/gcc/testsuite/gcc.target/arm/pr94743-1-softfp.c
> +++ b/gcc/testsuite/gcc.target/arm/pr94743-1-softfp.c
> @@ -1,6 +1,5 @@
>  /* PR target/94743 */
>  /* { dg-do compile } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> {"-mfloat-abi=softfp" } } */
>  /* { dg-require-effective-target arm_vfp_ok } */
>  /* { dg-add-options arm_vfp } */
>  /* Make sure with use -mfloat-abi=softfp.  */
> diff --git a/gcc/testsuite/gcc.target/arm/pr94743-3.c 
> b/gcc/testsuite/gcc.target/arm/pr94743-3.c
> index 6b8ed2b8dfa..9b3918e029a 100644
> --- a/gcc/testsuite/gcc.target/arm/pr94743-3.c
> +++ b/gcc/testsuite/gcc.target/arm/pr94743-3.c
> @@ -2,7 +2,6 @@
>  /* { dg-do compile } */
>  /* Thumb1 mode not supported for interrupt routines.  */
>  /* { dg-require-effective-target arm32 } */
> -/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } 
> {"-mfloat-abi=soft" } } */
>  /* { dg-options "-mgeneral-regs-only -mfloat-abi=soft" } */
>  
>  /* Check that we do not emit a warning when compiling an IRQ handler
> diff --git a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-1.c 
> b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-1.c
> index 9af2c6e1020..c906022bb74 100644
> --- a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-1.c
> +++ b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-1.c
> @@ -1,5 +1,4 @@
>  /* { dg-do link { target arm_soft_ok_link } } */

Link tests can't be guaranteed to work if the ABI is changed (we might lack the 
relevant multilibs).  So if this test needs to remove the skip, we need a 
pre-check that linking with -mfloat-abi=soft won't fail.  This applies to the 
other 'link' tests below.

> -/* { dg-skip-if "Feature is -mfloat-abi=soft only" { *-*-* } { 
> "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
>  /* { dg-options "-mfloat-abi=soft" } */
>  
>  int
> diff --git a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-2.c 
> b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-2.c
> index e78a7ada62e..55cd360ba89 100644
> --- a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-2.c
> +++ b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-2.c
> @@ -1,5 +1,4 @@
>  /* { dg-do link { target arm_soft_ok_link } } */
> -/* { dg-skip-if "Feature is -mfloat-abi=soft only" { *-*-* } { 
> "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
>  /* { dg-options "-mfloat-abi=soft" } */
>  
>  int
> diff --git a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-3.c 
> b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-3.c
> index bb9ccefda5e..482c66cb830 100644
> --- a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-3.c
> +++ b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-3.c
> @@ -1,5 +1,4 @@
>  /* { dg-do link { target arm_soft_ok_link } } */
> -/* { dg-skip-if "Feature is -mfloat-abi=soft only" { *-*-* } { 
> "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
>  /* { dg-options "-mfloat-abi=soft" } */
>  
>  int

Other than that, the tests that are using dg-do compiler are OK.

R.

Reply via email to