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

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Vladimir Makarov <[email protected]>:

https://gcc.gnu.org/g:24336625bb26102f393c8c58d63c1cb0f24cbb1a

commit r16-8398-g24336625bb26102f393c8c58d63c1cb0f24cbb1a
Author: Vladimir N. Makarov <[email protected]>
Date:   Wed Apr 1 15:08:01 2026 -0400

    [PR124696, LRA]: Fix LRA cycle involving reloads, secondary memory reloads,
and subreg reloads

    The code for reloading the register inside paradoxical subreg is assumed
    to require that the subreg is located in more than one hard reg.  But the
check was
    omitted and this resulted in LRA cycling through series of reloads,
    secondary memory reloads, and subreg reloads.  The patch fixes this.

    gcc/ChangeLog:

            PR rtl-optimization/124696
            * lra-constraints.cc (simplify_operand_subreg): Reload
            paradoxical subreg only if it requires more than one hard reg.

    gcc/testsuite/ChangeLog:

            PR rtl-optimization/124696
            * gcc.target/i386/pr124696.c: New.

Reply via email to