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:
Richard Henderson 2001-05-20 18:33:53 -07:00 committed by Richard Henderson
parent 88e3805d76
commit 9f4ccc25e3
2 changed files with 11 additions and 3 deletions

View File

@ -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

View File

@ -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
{