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.
