https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116236
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- We end up in process_address_1 doing /* Target hooks sometimes don't treat extra-constraint addresses as legitimate address_operands, so handle them specially. */ if (insn_extra_address_constraint (cn) && satisfies_address_constraint_p (&ad, cn)) return change_p; and that calls legitimate_address_p with strict_p == false and (plus:SI (sign_extend:SI (reg:HI 36 [ __y1$_M_y ])) (reg:SI 41)) returning true and thus we finish process_address_1.