From 47b68cda2c4afe32e84c5f18da0196c39e5e0edf Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Wed, 26 Jun 2024 07:20:29 -0600 Subject: [PATCH] [committed] Remove compromised sh test Surya's recent patch to IRA improves the code for sh/pr54602-1.c slightly. Specifically it's able to eliminate a save/restore in the prologue/epilogue and a bit of register shuffling. As a result there literally aren't any insns that can be used to fill the delay slot of the return, so a nop gets emitted and the test fails. Given there literally aren't any insns to move into the delay slot, the best course of action is to just drop the test. gcc/testsuite * gcc.target/sh/pr54602-1.c: Delete test. --- gcc/testsuite/gcc.target/sh/pr54602-1.c | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 gcc/testsuite/gcc.target/sh/pr54602-1.c diff --git a/gcc/testsuite/gcc.target/sh/pr54602-1.c b/gcc/testsuite/gcc.target/sh/pr54602-1.c deleted file mode 100644 index e7fb2a9a6424..000000000000 --- a/gcc/testsuite/gcc.target/sh/pr54602-1.c +++ /dev/null @@ -1,14 +0,0 @@ -/* Verify that the delay slot is stuffed with register pop insns for normal - (i.e. not interrupt handler) function returns. If everything goes as - expected we won't see any nop insns. */ -/* { dg-do compile } */ -/* { dg-options "-O1" } */ -/* { dg-final { scan-assembler-not "nop" } } */ - -int test00 (int a, int b); - -int -test01 (int a, int b, int c, int d) -{ - return test00 (a, b) + c; -} -- 2.47.2