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 *-*-* } } 
} */

Reply via email to