* [PATCH] [arm][testsuite]: Fix ACLE data-intrinsics testcases
@ 2023-05-30 14:00 Christophe Lyon
2023-05-30 14:02 ` Kyrylo Tkachov
0 siblings, 1 reply; 2+ messages in thread
From: Christophe Lyon @ 2023-05-30 14:00 UTC (permalink / raw)
To: gcc-patches, Kyrylo.Tkachov, chris.sidebottom; +Cc: Christophe Lyon
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.
2023-05-30 Christophe Lyon <christophe.lyon@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
^ permalink raw reply [flat|nested] 2+ messages in thread
* RE: [PATCH] [arm][testsuite]: Fix ACLE data-intrinsics testcases
2023-05-30 14:00 [PATCH] [arm][testsuite]: Fix ACLE data-intrinsics testcases Christophe Lyon
@ 2023-05-30 14:02 ` Kyrylo Tkachov
0 siblings, 0 replies; 2+ messages in thread
From: Kyrylo Tkachov @ 2023-05-30 14:02 UTC (permalink / raw)
To: Christophe Lyon, gcc-patches, Chris Sidebottom
> -----Original Message-----
> From: Christophe Lyon <christophe.lyon@linaro.org>
> Sent: Tuesday, May 30, 2023 3:00 PM
> To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>;
> Chris Sidebottom <Chris.Sidebottom@arm.com>
> Cc: Christophe Lyon <christophe.lyon@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.lyon@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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-05-30 14:02 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-30 14:00 [PATCH] [arm][testsuite]: Fix ACLE data-intrinsics testcases Christophe Lyon
2023-05-30 14:02 ` Kyrylo Tkachov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).