http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
--- Comment #8 from Jeffrey A. Law <law at redhat dot com> --- This looks pretty easy to fix as we emit the copies. Basically we had two extensions reached by the same def. Elimination of the first extension requires a copy. Elimination of the second does not. The second extension is wider than the first. All looks good after elimination of the first extension. Elimination of the second extension looks good as well -- basically we just widen the extension that'll be done as part of the def insn. However, when we do that we need to widen the copy generated when we eliminated the first extension. Thankfully we have the defining insn handy when we generate the copy (they're not generated until after the defining insns are all munged). So it's just a matter of generating the copy in the wider mode. I want to look at a couple things, but right now I expect this'll be wrapped up shortly.