[Bug middle-end/53623] [4.7/4.8/4.9 Regression] sign extension is effectively split into two x86-64 instructions
law at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jan 8 06:03:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53623
--- Comment #9 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Author: law
Date: Wed Jan 8 06:03:12 2014
New Revision: 206418
URL: http://gcc.gnu.org/viewcvs?rev=206418&root=gcc&view=rev
Log:
PR middle-end/53623
* ree.c (combine_set_extension): Handle case where source
and destination registers in an extension insn are different.
(combine_reaching_defs): Allow source and destination
registers in extension to be different under limited
circumstances.
(add_removable_extension): Remove restriction that the
source and destination registers in the extension are the
same.
(find_and_remove_re): Emit a copy from the extension's
destination to its source after the defining insn if
the source and destination registers are different.
PR middle-end/53623
* gcc.target/i386/pr53623.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/i386/pr53623.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ree.c
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list