Message ID | 20241110090107.2598870-1-torbjorn.svensson@foss.st.com |
---|---|
State | New |
Headers | show |
Series | [v3] testsuite: arm: Use effective-target for attr-neon* tests | expand |
Hi Torbjörn, On Sun, 10 Nov 2024 at 10:09, Torbjörn SVENSSON <torbjorn.svensson@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.svensson@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 >
On 2024-11-14 16:16, Christophe Lyon wrote: > Hi Torbjörn, > > On Sun, 10 Nov 2024 at 10:09, Torbjörn SVENSSON > <torbjorn.svensson@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). Without the patch, the test cases are listed as unsupported due to conflicting switches (in this case -mcpu=cortex-m7 and -march=X where X depends on the test case...). The only targets that passes the required effective-target is armv8.m-main, but it is incompatible with the include of arm_nenon.h. With the patch, all the tests are executed in armv7-a context, so then they all pass. > 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? I only have a really old build of GCC14 available right now but it appears fine. Also, without the unset-feature, if the tested target is not compatible with -march=armv7-a, then there would be a warning printed and that would be enough to say that the effective-target is not fulfilled. The drawback is that there might be a few more combinations that will no list the test as unsupported rather than fail/pass. Kind regards, Torbjörn > > 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.svensson@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 >>
Gentle ping :) Kind regards, Torbjörn On 2024-11-14 17:51, Torbjorn SVENSSON wrote: > > > On 2024-11-14 16:16, Christophe Lyon wrote: >> Hi Torbjörn, >> >> On Sun, 10 Nov 2024 at 10:09, Torbjörn SVENSSON >> <torbjorn.svensson@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). > > Without the patch, the test cases are listed as unsupported due to > conflicting switches (in this case -mcpu=cortex-m7 and -march=X where X > depends on the test case...). The only targets that passes the required > effective-target is armv8.m-main, but it is incompatible with the > include of arm_nenon.h. > > With the patch, all the tests are executed in armv7-a context, so then > they all pass. > >> 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? > > I only have a really old build of GCC14 available right now but it > appears fine. Also, without the unset-feature, if the tested target is > not compatible with -march=armv7-a, then there would be a warning > printed and that would be enough to say that the effective-target is not > fulfilled. The drawback is that there might be a few more combinations > that will no list the test as unsupported rather than fail/pass. > > Kind regards, > Torbjörn > >> >> 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.svensson@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 >>> >
Another ping... :) Kind regards, Torbjörn On 2024-12-19 20:23, Torbjorn SVENSSON wrote: > Gentle ping :) > > Kind regards, > Torbjörn > > On 2024-11-14 17:51, Torbjorn SVENSSON wrote: >> >> >> On 2024-11-14 16:16, Christophe Lyon wrote: >>> Hi Torbjörn, >>> >>> On Sun, 10 Nov 2024 at 10:09, Torbjörn SVENSSON >>> <torbjorn.svensson@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). >> >> Without the patch, the test cases are listed as unsupported due to >> conflicting switches (in this case -mcpu=cortex-m7 and -march=X where >> X depends on the test case...). The only targets that passes the >> required effective-target is armv8.m-main, but it is incompatible with >> the include of arm_nenon.h. >> >> With the patch, all the tests are executed in armv7-a context, so then >> they all pass. >> >>> 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? >> >> I only have a really old build of GCC14 available right now but it >> appears fine. Also, without the unset-feature, if the tested target is >> not compatible with -march=armv7-a, then there would be a warning >> printed and that would be enough to say that the effective-target is >> not fulfilled. The drawback is that there might be a few more >> combinations that will no list the test as unsupported rather than >> fail/pass. >> >> Kind regards, >> Torbjörn >> >>> >>> 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.svensson@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 >>>> >> >
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")
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. Ok for trunk and releases/gcc-14? -- 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.svensson@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(-)