Hi Torbjörn, On Sun, 10 Nov 2024 at 10:09, Torbjörn SVENSSON <torbjorn.svens...@foss.st.com> wrote: > > Changes since v1: > > - Changed from arm_neon to arm_arch_v7a for the required effective target. > > Changes since v2: > > - Added arm_libc_fp_abi as an required effective taret. > - Removed to arm_neon and arm_vfp from effective target. > > > With v3, the tests are now tested in armv7-a context in either hard or softfp > mode, depending on how libc was built. > I can see these tests have already quite a bit of history regarding their dg-effective-target.... :-)
In your initial email, you said the tests fail for m55hard and m85hard. So does this mean they pass for m7hard etc ? (I mean without this patch). As Richard said, there seems to be an underlying issue we can fix separately. > Ok for trunk and releases/gcc-14? AFAIU the patch does what was suggested: skip those tests on M-profile. Does the arm_arch_v7a part also work on gcc-14 given it does not have the -cpu=unset feature? Thanks, Christophe > > -- > > Force armv7-a as the tests require a neon compatible architecture. > > gcc/testsuite/ChangeLog: > > * gcc.target/arm/attr-neon-builtin-fail.c: Use effective-target > arm_arch_v7a. > * gcc.target/arm/attr-neon-builtin-fail2.c: Likewise. > * gcc.target/arm/attr-neon-fp16.c: Likewise. > * gcc.target/arm/attr-neon2.c: Likewise. > > Signed-off-by: Torbjörn SVENSSON <torbjorn.svens...@foss.st.com> > --- > gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail.c | 7 ++++--- > gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail2.c | 6 ++++-- > gcc/testsuite/gcc.target/arm/attr-neon-fp16.c | 6 ++++-- > gcc/testsuite/gcc.target/arm/attr-neon2.c | 7 ++++--- > 4 files changed, 16 insertions(+), 10 deletions(-) > > diff --git a/gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail.c > b/gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail.c > index fb6e0b9cd66..143ad9c4908 100644 > --- a/gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail.c > +++ b/gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail.c > @@ -1,9 +1,10 @@ > /* Check that calling a neon builtin from a function compiled with vfp > fails. */ > /* { dg-do compile } */ > -/* { dg-require-effective-target arm_fp_ok } */ > -/* { dg-require-effective-target arm_neon_ok } */ > +/* { dg-require-effective-target arm_arch_v7a_ok } */ > +/* { dg-require-effective-target arm_libc_fp_abi_ok } */ > /* { dg-options "-O2" } */ > -/* { dg-add-options arm_fp } */ > +/* { dg-add-options arm_arch_v7a } */ > +/* { dg-add-options arm_libc_fp_abi } */ > > #include <arm_neon.h> > > diff --git a/gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail2.c > b/gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail2.c > index 9cb5a2ebb90..39689b7c3c7 100644 > --- a/gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail2.c > +++ b/gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail2.c > @@ -1,8 +1,10 @@ > /* Check that calling a neon builtin from a function compiled with vfp > fails. */ > /* { dg-do compile } */ > -/* { dg-require-effective-target arm_vfp_ok } */ > +/* { dg-require-effective-target arm_arch_v7a_ok } */ > +/* { dg-require-effective-target arm_libc_fp_abi_ok } */ > /* { dg-options "-O2" } */ > -/* { dg-add-options arm_vfp } */ > +/* { dg-add-options arm_arch_v7a } */ > +/* { dg-add-options arm_libc_fp_abi } */ > > extern __simd64_int8_t a, b; > > diff --git a/gcc/testsuite/gcc.target/arm/attr-neon-fp16.c > b/gcc/testsuite/gcc.target/arm/attr-neon-fp16.c > index d7b75645bc4..9bc6ce635e2 100644 > --- a/gcc/testsuite/gcc.target/arm/attr-neon-fp16.c > +++ b/gcc/testsuite/gcc.target/arm/attr-neon-fp16.c > @@ -1,8 +1,10 @@ > /* { dg-do compile } */ > /* { dg-skip-if "-mpure-code supports M-profile only and without Neon" { > *-*-* } { "-mpure-code" } } */ > -/* { dg-require-effective-target arm_fp_ok } */ > +/* { dg-require-effective-target arm_arch_v7a_ok } */ > +/* { dg-require-effective-target arm_libc_fp_abi_ok } */ > /* { dg-options "-mfp16-format=ieee" } */ > -/* { dg-add-options arm_fp } */ > +/* { dg-add-options arm_arch_v7a } */ > +/* { dg-add-options arm_libc_fp_abi } */ > > #include "arm_neon.h" > > diff --git a/gcc/testsuite/gcc.target/arm/attr-neon2.c > b/gcc/testsuite/gcc.target/arm/attr-neon2.c > index a7a72dac379..db10cfa4928 100644 > --- a/gcc/testsuite/gcc.target/arm/attr-neon2.c > +++ b/gcc/testsuite/gcc.target/arm/attr-neon2.c > @@ -1,8 +1,9 @@ > /* { dg-do compile } */ > -/* { dg-require-effective-target arm_neon_ok } */ > -/* { dg-require-effective-target arm_fp_ok } */ > +/* { dg-require-effective-target arm_arch_v7a_ok } */ > +/* { dg-require-effective-target arm_libc_fp_abi_ok } */ > /* { dg-options "-Ofast" } */ > -/* { dg-add-options arm_fp } */ > +/* { dg-add-options arm_arch_v7a } */ > +/* { dg-add-options arm_libc_fp_abi } */ > > /* Reset fpu to a value compatible with the next pragmas. */ > #pragma GCC target ("fpu=vfp") > -- > 2.25.1 >