https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91522
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Uh, all other DF_REG_REG_CHAIN uses need to be updated as well I guess, how we convert defs and uses seems to be a slight mess :/ I'm going to try to rewrite this part to for insn in insns for def in insn if def in defs_conv replace def in insn with subreg of new pseudo from new defs-map emit copy from new def to original scalar def else replace def with subreg for use in insn if use in defs_conv & ~defs replace use in insn with subreg of new pseudo from new defs-map emit copy from old scalar def to new def else replace use with subreg [of new pseudo from new defs-map] that should also support chains where not all defs of a pseudo are part of the chain. Since we have ud and du chains we can use those more.