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.