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