https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69447
--- Comment #5 from Richard Henderson <rth at gcc dot gnu.org> --- This appears to be exposed by lra-remat, but not the location of the bug. Before remat: Insn 55: point = 3 ... Insn 17: point = 26 r111: [4..26] After remat: Inserting rematerialization insn before: 76: {r0:DI=r111:DI-0x2;clobber cc:CC;} Insn 55: point = 3 ... Insn 76: point = 7 ... Insn 17: point = 24 So remat hasn't expanded the lifetime of r111 at all, merely introduced a new use within the existing live range. So the failure to keep the top half of the pseudo live is elsewhere.