https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69307
--- Comment #6 from Andrey Belevantsev <abel at gcc dot gnu.org> --- Created attachment 37551 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37551&action=edit proposed patch Here before reload we're trying to rename a hard register. At the very final point of choosing the new register we forget to properly check hard_regno_nregs when checking liveness restrictions (though we did all the way to that point). Then we incorrectly choose the original register as it seems to be good enough. Fixed by looping over all registers specified in hard_regno_nregs at that place, too.