https://gcc.gnu.org/g:ed502f9d4414ecc2e47daacf765f509efc48fb01
commit r17-2146-ged502f9d4414ecc2e47daacf765f509efc48fb01 Author: Oleg Endo <[email protected]> Date: Sat Jul 4 16:46:38 2026 +0900 SH: Add test case for PR69765 gcc/testsuite/ChangeLog: PR target/69765 * gcc.target/sh/pr69765.c: New test. Diff: --- gcc/testsuite/gcc.target/sh/pr69765.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gcc/testsuite/gcc.target/sh/pr69765.c b/gcc/testsuite/gcc.target/sh/pr69765.c new file mode 100644 index 000000000000..411d14810d39 --- /dev/null +++ b/gcc/testsuite/gcc.target/sh/pr69765.c @@ -0,0 +1,15 @@ +/* Verify that forwarding a double _Complex argument to a tail-called + function does not introduce additional reg-reg copies. */ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ +/* { dg-final { scan-assembler-times "jmp\t@r" 1 } } */ +/* { dg-final { scan-assembler-not "mov\tr" } } */ +/* { dg-final { scan-assembler-not "fmov\tr" } } */ + +double _Complex foo (double _Complex arg); + +double _Complex +bar (double _Complex arg) +{ + return foo (arg); +}
