https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113787
--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> --- _57 = &MEM[(int *)0B + _56 + _55 * 1]; *_57 = _14; The fix for PR 110702 must not have been enough. Or rather this part of the explanation was fully true: ``` The patch below recognizes the fallback after the fact and transforms the TARGET_MEM_REF memory reference into a LEA for which this form isn't problematic: _24 = &MEM[(long int *)0B + ivtmp.36_34 + ivtmp.28_44 * 4]; _3 = *_24; ``` Maybe it was enough for GCC 13/12 branches but the trunk it was not.