> -----Original Message----- > From: Christophe Lyon <christophe.l...@linaro.org> > Sent: Tuesday, May 30, 2023 3:00 PM > To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov <kyrylo.tkac...@arm.com>; > Chris Sidebottom <chris.sidebot...@arm.com> > Cc: Christophe Lyon <christophe.l...@linaro.org> > Subject: [PATCH] [arm][testsuite]: Fix ACLE data-intrinsics testcases > > data-intrinsics-assembly.c forces -march=armv6 using dg-add-options > arm_arch_v6, which implicitly adds -mfloat-abi=softfp. > > However, for a toolchain configured for arm-linux-gnueabihf and > --with-arch=armv7-a, the testcase will fail when including arm_acle.h > (which includes stdint.h, which will fail to include the non-existing > gnu/stubs-soft.h). > > Other effective-targets related to arm_acle.h would also pass because > they first try without -mfloat-abi=softfp, so it seems the > simplest/safest is to add { dg-require-effective-target arm_softfp_ok } > to make sure arm_arch_v6_ok's assumption is valid. > > The patch also fixes what seems to be an oversight in > data-intrinsics-armv6.c: it requires arm_arch_v6_ok, but uses > arm_arch_v6t2: the patch makes it require arm_arch_v6t2_ok.
Ok, thanks for sorting this out. The arm effective target checks always catch me off guard if I don't deal with them for a few months ☹ Kyrill > > 2023-05-30 Christophe Lyon <christophe.l...@linaro.org> > > gcc/testsuite/ > * gcc.target/arm/acle/data-intrinsics-armv6.c: Fix typo. > * gcc.target/arm/acle/data-intrinsics-assembly.c Require > arm_softfp_ok. > --- > gcc/testsuite/gcc.target/arm/acle/data-intrinsics-armv6.c | 2 +- > gcc/testsuite/gcc.target/arm/acle/data-intrinsics-assembly.c | 1 + > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-armv6.c > b/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-armv6.c > index aafdff35cee..988ecac3787 100644 > --- a/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-armv6.c > +++ b/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-armv6.c > @@ -1,5 +1,5 @@ > /* { dg-do run } */ > -/* { dg-require-effective-target arm_arch_v6_ok } */ > +/* { dg-require-effective-target arm_arch_v6t2_ok } */ > /* { dg-add-options arm_arch_v6t2 } */ > > #include "arm_acle.h" > diff --git a/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-assembly.c > b/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-assembly.c > index 3e066877a70..478cbde1600 100644 > --- a/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-assembly.c > +++ b/gcc/testsuite/gcc.target/arm/acle/data-intrinsics-assembly.c > @@ -1,5 +1,6 @@ > /* Test the ACLE data intrinsics get expanded to the correct instructions on > a > specific architecture */ > /* { dg-do assemble } */ > +/* { dg-require-effective-target arm_softfp_ok } */ > /* { dg-require-effective-target arm_arch_v6_ok } */ > /* { dg-additional-options "--save-temps -O1" } */ > /* { dg-add-options arm_arch_v6 } */ > -- > 2.34.1