So the test for pr120811 has actually been failing for several months,
but the scan-asm regexp was too general in what it accepted and as a
result we weren't aware it was failing. What's a bit weird, is it looks
like post-reload combine just never tries the relevant insns, though it
does look like a viable post-reload combine opportunity.
Then changes in the last day or so scrambled the output even more to the
point where the faulty scan-asm wouldn't match and the regression has
come to light.
This adds the missing escapes to the scan-asm. I've confirmed it works
with the old (desired) code generation and it fails with the change from
a couple months ago which seems to be preventing the post-reload
combine. It xfails the test as well.
I'll get a bug opened to track the performance regression.
jeff
commit b5d5f34aa797909b857fb812415538962a61f8c9
Author: Jeff Law <[email protected]>
Date: Tue Jun 16 20:34:49 2026 -0600
[committed][RISC-V] Tighten and xfail test for pr120811
So the test for pr120811 has actually been failing for several months, but
the
scan-asm regexp was too general in what it accepted and as a result we
weren't
aware it was failing. What's a bit weird, is it looks like post-reload
combine
just never tries the relevant insns, though it does look like a viable
post-reload combine opportunity.
Then changes in the last day or so scrambled the output even more to the
point
where the faulty scan-asm wouldn't match and the regression has come to
light.
This adds the missing escapes to the scan-asm. I've confirmed it works with
the old (desired) code generation and it fails with the change from a couple
months ago which seems to be preventing the post-reload combine. It xfails
the
test as well.
I'll get a bug opened to track the performance regression.
gcc/testsuite
* gcc.target/riscv/pr120811.c: Add missing escapes and xfail.
diff --git a/gcc/testsuite/gcc.target/riscv/pr120811.c
b/gcc/testsuite/gcc.target/riscv/pr120811.c
index b8a7347d3c9..d5ec94a2510 100644
--- a/gcc/testsuite/gcc.target/riscv/pr120811.c
+++ b/gcc/testsuite/gcc.target/riscv/pr120811.c
@@ -38,4 +38,4 @@ void q() {
}
/* { dg-final { scan-rtl-dump-not "const_sum_of_two_s12" "reload" } } */
/* { dg-final { scan-rtl-dump-not "const_sum_of_two_s12" "late_combine2" } } */
-/* { dg-final { scan-assembler
"addi.*\[ats\]\[0-9\]*,sp,\[0-9\]*\n\tld\t.*,2047\(.*\).*" } } */
+/* { dg-final { scan-assembler
"addi.*\[ats\]\[0-9\]*,sp,\[0-9\]*\n\tld\t.*,2047\\(.*\\).*" { xfail *-*-* } }
} */