diff mbox series

-mno-long-calls for arm/no_unique_address tests

Message ID orft3ul7z3.fsf@lxoliva.fsfla.org
State New
Headers show
Series -mno-long-calls for arm/no_unique_address tests | expand

Commit Message

Alexandre Oliva Dec. 25, 2020, 6:23 a.m. UTC
The implicit -mlong-calls from our vxworks configurations makes the
tail-call instructions differ from those expected by the
no_unique_address tests in gcc.target/arm.

This patch adds -mno-long-calls to the compilation commands, so that
we generate the expected sequences.

Regstrapped on x86_64-linux-gnu, also tested on arm-vxworks7r2.
Ok to install?


for  gcc/testsuite/ChangeLog

	* gcc.target/arm/no_unique_address_1.C: Add -mno-long-calls.
	* gcc.target/arm/no_unique_address_2.C: Likewise.
---
 gcc/testsuite/g++.target/arm/no_unique_address_1.C |    2 +-
 gcc/testsuite/g++.target/arm/no_unique_address_2.C |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Richard Sandiford Dec. 29, 2020, 10:02 a.m. UTC | #1
Alexandre Oliva <oliva@adacore.com> writes:
> The implicit -mlong-calls from our vxworks configurations makes the
> tail-call instructions differ from those expected by the
> no_unique_address tests in gcc.target/arm.
>
> This patch adds -mno-long-calls to the compilation commands, so that
> we generate the expected sequences.
>
> Regstrapped on x86_64-linux-gnu, also tested on arm-vxworks7r2.
> Ok to install?

OK, thanks.  The dg-bogus parts shouldn't of course depend on -mlong-calls,
but they shouldn't depend on -O or -foptimize-sibling-calls either.
It seems unlikely that there is any hidden interaction between
-mlong-calls and no_unique_address, and if we find one later, we can
always add tests for it then.

Richard

> for  gcc/testsuite/ChangeLog
>
> 	* gcc.target/arm/no_unique_address_1.C: Add -mno-long-calls.
> 	* gcc.target/arm/no_unique_address_2.C: Likewise.
> ---
>  gcc/testsuite/g++.target/arm/no_unique_address_1.C |    2 +-
>  gcc/testsuite/g++.target/arm/no_unique_address_2.C |    2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gcc/testsuite/g++.target/arm/no_unique_address_1.C b/gcc/testsuite/g++.target/arm/no_unique_address_1.C
> index 038aa00a499e9..40fc68b374521 100644
> --- a/gcc/testsuite/g++.target/arm/no_unique_address_1.C
> +++ b/gcc/testsuite/g++.target/arm/no_unique_address_1.C
> @@ -1,5 +1,5 @@
>  /* { dg-require-effective-target arm_arch_v8a_hard_ok } */
> -/* { dg-options "-std=c++11 -O -foptimize-sibling-calls" } */
> +/* { dg-options "-std=c++11 -O -foptimize-sibling-calls -mno-long-calls" } */
>  /* { dg-add-options arm_arch_v8a_hard } */
>  /* { dg-final { check-function-bodies "**" "" "" } } */
>  
> diff --git a/gcc/testsuite/g++.target/arm/no_unique_address_2.C b/gcc/testsuite/g++.target/arm/no_unique_address_2.C
> index 8be5de2539a38..b66b4d004965b 100644
> --- a/gcc/testsuite/g++.target/arm/no_unique_address_2.C
> +++ b/gcc/testsuite/g++.target/arm/no_unique_address_2.C
> @@ -1,5 +1,5 @@
>  /* { dg-require-effective-target arm_arch_v8a_hard_ok } */
> -/* { dg-options "-std=c++17 -O -foptimize-sibling-calls" } */
> +/* { dg-options "-std=c++17 -O -foptimize-sibling-calls -mno-long-calls" } */
>  /* { dg-add-options arm_arch_v8a_hard } */
>  /* { dg-final { check-function-bodies "**" "" "" } } */
diff mbox series

Patch

diff --git a/gcc/testsuite/g++.target/arm/no_unique_address_1.C b/gcc/testsuite/g++.target/arm/no_unique_address_1.C
index 038aa00a499e9..40fc68b374521 100644
--- a/gcc/testsuite/g++.target/arm/no_unique_address_1.C
+++ b/gcc/testsuite/g++.target/arm/no_unique_address_1.C
@@ -1,5 +1,5 @@ 
 /* { dg-require-effective-target arm_arch_v8a_hard_ok } */
-/* { dg-options "-std=c++11 -O -foptimize-sibling-calls" } */
+/* { dg-options "-std=c++11 -O -foptimize-sibling-calls -mno-long-calls" } */
 /* { dg-add-options arm_arch_v8a_hard } */
 /* { dg-final { check-function-bodies "**" "" "" } } */
 
diff --git a/gcc/testsuite/g++.target/arm/no_unique_address_2.C b/gcc/testsuite/g++.target/arm/no_unique_address_2.C
index 8be5de2539a38..b66b4d004965b 100644
--- a/gcc/testsuite/g++.target/arm/no_unique_address_2.C
+++ b/gcc/testsuite/g++.target/arm/no_unique_address_2.C
@@ -1,5 +1,5 @@ 
 /* { dg-require-effective-target arm_arch_v8a_hard_ok } */
-/* { dg-options "-std=c++17 -O -foptimize-sibling-calls" } */
+/* { dg-options "-std=c++17 -O -foptimize-sibling-calls -mno-long-calls" } */
 /* { dg-add-options arm_arch_v8a_hard } */
 /* { dg-final { check-function-bodies "**" "" "" } } */