https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91109
--- Comment #5 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- Created attachment 46654 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46654&action=edit untested patch It looks like update_scratch_ops creates a copy of the original scratch register, but the new scratch register has no working live range info. I don't know a correct solution for the underlying problem, but removing the assignment to reg_renumber seems to fix the test case.