https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127673

            Bug ID: 127673
           Summary: [17 Regression] Recent IVOPTS work causing testsuite
                    regresion on armv7
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: law at gcc dot gnu.org
  Target Milestone: ---

Target: arm-linux-gnueabihf.  Given these are scan failures, more likely than
not you can trigger with a cross compiler.

Tests that now fail, but worked before (2 tests):

gcc: gcc.target/arm/mve/dlstp-invalid-asm.c scan-assembler-not \tdlstp
gcc: gcc.target/arm/mve/dlstp-invalid-asm.c scan-assembler-not \tletp

This was tracked down to:

commit eb311f861255ae1fcaafa3454d4d1d6f1da07497
Author: liuhongt <[email protected]>
Date:   Tue Aug 4 01:55:18 2026 -0700

    tree-optimization/126486 - fold sign-changing conversions in IVOPTS

    r15-6657 canonicalized signed arithmetic to unsigned and exposed a
    17.5% code-size regression at -O2 in SPEC CPU2017 507.cactuBSSN_r.
    The resulting conversion chains hide common outer-loop IV terms from
    affine decomposition.

    Enable ranger during IVOPTS and pass the use statement to tree-affine.
    Use contextual ranges to remove value-preserving sign changes and fold
    modular arithmetic into exact arithmetic.  Keep candidate computations
    context-free because they may be emitted in the loop preheader.

It may ultimately be a case where we just need to adjust the test, or it may be
a symptom of a bigger problem.  I haven't done any analysis, just bisection.

Reply via email to