[Bug tree-optimization/59747] [4.9 Regression] wrong code at -Os and above on x86_64-linux-gnu in 64-bit mode

law at redhat dot com gcc-bugzilla@gcc.gnu.org
Fri Jan 10 17:56:00 GMT 2014


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.



More information about the Gcc-bugs mailing list