optabs.c (emit_cmp_and_jump_insns): Don't swap commutative operands unless the operation is commutative.
* optabs.c (emit_cmp_and_jump_insns): Don't swap commutative operands unless the operation is commutative. From-SVN: r42366
This commit is contained in:
parent
88e3805d76
commit
9f4ccc25e3
@ -1,3 +1,8 @@
|
||||
2001-05-20 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
|
||||
operands unless the operation is commutative.
|
||||
|
||||
2001-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
|
||||
|
@ -3289,13 +3289,16 @@ emit_cmp_and_jump_insns (x, y, comparison, size, mode, unsignedp, align, label)
|
||||
{
|
||||
rtx op0;
|
||||
rtx op1;
|
||||
|
||||
if (swap_commutative_operands_p (x, y))
|
||||
|
||||
/* We may not swap in the general case, since this is called from
|
||||
compare_from_rtx, and we have no way of reporting the changed
|
||||
comparison code. */
|
||||
if (comparison == swap_condition (comparison)
|
||||
&& swap_commutative_operands_p (x, y))
|
||||
{
|
||||
/* Swap operands and condition to ensure canonical RTL. */
|
||||
op0 = y;
|
||||
op1 = x;
|
||||
comparison = swap_condition (comparison);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user