[PATCH] fix non-canonical RTL produced by expand

Hans-Peter Nilsson hp@bitrange.com
Sat Oct 15 14:13:00 GMT 2005


On Wed, 28 Sep 2005, Paolo Bonzini wrote:
> Paolo Bonzini wrote:
> >
> >>>>     * optabs.c (expand_binop): Use best_order_for_commutative_binop_p
> >>>>     to order operands.
> >>>>     (best_order_for_commutative_binop_p): New.

> David Edelsohn reported that this patches causes a 3-5% regression on
> gap, because it causes cases like (plus (mem) (reg)) to be kept as they
> are, instead of being canonicalized to (plus (reg) (mem)).

There is no specified canonical order between reg and mem.  See
docs, @node Insn Canonicalizations.  (But if you want to change
that and in the order you gave, I for one would be happy.)

brgds, H-P



More information about the Gcc-patches mailing list