This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi All, This fix is aimed to remove performance degradation introduced by new LRA phase that in fact is combining problem. Gcc combiner does propagation of memory load to if-then-else gimple that was splitted back by old reload phase. LRA does not perform such splitting. To avoid performance slowdown on important benchmark (this is true for all x86 targets) we decided to enhance 'ix86_legitimate_combined_insn' with a check on such propagation and consider such conditional instruction with memory operand as illegal one from performance point of view. The fix was bootstrapped and regtested for x86-64. Is it OK for 4.8 and mainline? ChangeLog: 2012-12-12 Yuri Rumyantsev <ysrumyan@gmail.com> * config/i386/i386.c (ix86_legitimate_combined_insn) : Avoid combining of load and if_then_else instructions.
Attachment:
x86-cmove-combine-fix.diff
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |