https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99600
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Or emit a noop move insn (or something else that will be optimized away soon, e.g. during DCE) in between the ASHIFT and following insn in ix86_split_lea_for_addr. A problem with remembering the INSN_UID of the ASHIFT insn is where we'd reset before processing next function, though peephole2 is scheduled just once, so it could be in lots of different spots.