On Mon, 2016-02-29 at 20:45 -0600, Segher Boessenkool wrote: > On Mon, Feb 29, 2016 at 11:11:11AM -0800, Richard Henderson wrote: > > > Where are these canonicalization rules described? > > > > swap_commutative_operands_p? > > That function never swaps reg+reg, or I don't see it.
commutative_operand_precedence gives registers that hold pointers a higher precedence than registers that don't hold pointers, so it can swap reg+reg if the second reg holds a pointer. We did this as part of PR28690. Peter