https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66358
--- Comment #10 from Kazumoto Kojima <kkojima at gcc dot gnu.org> --- (In reply to Oleg Endo from comment #8) > Ah, right. If it fixes the problem, then I think it's the only option we > have for the release branch. It can be used as a last resort. It depends on whether various rtl passes take care of hard registers or not. I'd like to wait your pre-allocating pass. It's surely cleaner than that a bit unreliable artifact in prepare_move_operands. Perhaps both can be almost equaly invasive to the release branch. If the pass is enough simple and can give good results, it may be a safer bet, especially when we are in transition to LRA.