https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91635
--- Comment #23 from Segher Boessenkool <segher at gcc dot gnu.org> --- If a splitter wants a new register during combine, it should do a match_scratch for that. This is documented. You do not normally get new registers during combine. combine cannot really handle those. combine however goes to a lot of effort moving existing REG_DEAD notes.