https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71022
--- Comment #2 from Wilco <wdijkstr at arm dot com> --- (In reply to Richard Biener from comment #1) > IRA might choose to do this as part of life-range splitting/shortening. Note > that reg-reg moves may be cheaper code-size wise (like on CISC archs with > non-fixed insn lengths). RTL cost should tell you, of course. The cases I spotted are typically conflicting liveranges that just happen to share the same initialization value (0 being the most common). This transformation can be done in a generic phase using RTL costs, the moves even have the correct regnotes.