[1v2/2,aarch64,testsuite] disable PIE for nonlocal_goto sme tests

Message ID orcy7ux28b.fsf@lxoliva.fsfla.org
State Dropped
Headers
Series sme/nonlocal_goto_* tests fail remat with PIE |

Commit Message

Alexandre Oliva Sept. 13, 2025, 7:04 a.m. UTC
  When an aarch64 toolchain is configured with --enable-default-pie,
gcc.target/aarch64/sme/nonlocal_goto_[123].c fail because ira.cc's
setup_reg_equiv resets function_invariant_p(x) equivalences when
e.g. flag_pic and !CONSTANT_P (x), and then lra ends up unable to
rematerialize stack addresses that would otherwise be rematerialized
as small constants added to sp, and instead the addresses end up in
pseudos assigned to stack slots.

Tested on aarch64-linux-gnu with --enable-default-pie.  Ok to install?


for  gcc/testsuite/ChangeLog

	* gcc.target/aarch64/sme/nonlocal_goto_1.c: Force PIE off.
	* gcc.target/aarch64/sme/nonlocal_goto_2.c: Likewise.
	* gcc.target/aarch64/sme/nonlocal_goto_3.c: Likewise.
---
 .../gcc.target/aarch64/sme/nonlocal_goto_1.c       |    2 +-
 .../gcc.target/aarch64/sme/nonlocal_goto_2.c       |    2 +-
 .../gcc.target/aarch64/sme/nonlocal_goto_3.c       |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
  

Patch

diff --git a/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_1.c b/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_1.c
index 572c17a06d7c1..11578279b9287 100644
--- a/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_1.c
+++ b/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_1.c
@@ -1,4 +1,4 @@ 
-/* { dg-options "-O2 -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-options "-O2 -fno-schedule-insns -fno-schedule-insns2 -fno-PIE" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
 void run(void (*)());
diff --git a/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_2.c b/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_2.c
index 721a2b7898636..37dbcbae1a4f8 100644
--- a/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_2.c
+++ b/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_2.c
@@ -1,4 +1,4 @@ 
-/* { dg-options "-O2 -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-options "-O2 -fno-schedule-insns -fno-schedule-insns2 -fno-PIE" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
 void run(void (*)());
diff --git a/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_3.c b/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_3.c
index 25db9283b169a..ae661653f3028 100644
--- a/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_3.c
+++ b/gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_3.c
@@ -1,4 +1,4 @@ 
-/* { dg-options "-O2 -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-options "-O2 -fno-schedule-insns -fno-schedule-insns2 -fno-PIE" } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
 void run(void (*)());