[Bug rtl-optimization/69052] [6 Regression] Performance regression after r229402.

ienkovich at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 27 12:33:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69052

--- Comment #10 from Ilya Enkovich <ienkovich at gcc dot gnu.org> ---
(In reply to amker from comment #9)
> I know little about x86, is it because of generation of non-canonical rtl
> expression after this change?
> 
> Another question for this case is: Is it because operand ordering that
> inv_can_prop_to_addr_use failed to verify the result insn as a valid one? 
> If so, is it because of non-canonical rtl expressions?

In i386 address expression only the first operand of PLUS may be another PLUS. 
Thus (r1 + r2) + CONST is a valid address but r1 + (r2 + CONST) is not.  Thus
when you propagate a register you may need to reorder operands.


More information about the Gcc-bugs mailing list