Commit c53f9f5b by Richard Henderson Committed by Richard Henderson

alpha.c (alpha_emit_conditional_move): Do not swap comparison operands when that…

alpha.c (alpha_emit_conditional_move): Do not swap comparison operands when that would create non-canonical rtl.

        * config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap
        comparison operands when that would create non-canonical rtl.

From-SVN: r38247
parent 34c659e2
2000-12-14 Richard Henderson <rth@redhat.com> 2000-12-14 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap
comparison operands when that would create non-canonical rtl.
* config/i386/i386.md (umulsi3_highpart): Remove * from name. * config/i386/i386.md (umulsi3_highpart): Remove * from name.
(smulsi3_highpart): Likewise. (smulsi3_highpart): Likewise.
......
...@@ -1908,9 +1908,14 @@ alpha_emit_conditional_move (cmp, mode) ...@@ -1908,9 +1908,14 @@ alpha_emit_conditional_move (cmp, mode)
case GE: case GT: case GEU: case GTU: case GE: case GT: case GEU: case GTU:
/* These must be swapped. */ /* These must be swapped. */
cmp_code = swap_condition (code); if (op1 == CONST0_RTX (cmp_mode))
code = NE; cmp_code = code, code = NE;
tem = op0, op0 = op1, op1 = tem; else
{
cmp_code = swap_condition (code);
code = NE;
tem = op0, op0 = op1, op1 = tem;
}
break; break;
default: default:
...@@ -1958,8 +1963,11 @@ alpha_emit_conditional_move (cmp, mode) ...@@ -1958,8 +1963,11 @@ alpha_emit_conditional_move (cmp, mode)
case GE: case GT: case GEU: case GTU: case GE: case GT: case GEU: case GTU:
/* These must be swapped. */ /* These must be swapped. */
code = swap_condition (code); if (op1 != CONST0_RTX (cmp_mode))
tem = op0, op0 = op1, op1 = tem; {
code = swap_condition (code);
tem = op0, op0 = op1, op1 = tem;
}
break; break;
default: default:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment