diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-06-28 15:05:55 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-06-28 15:05:55 -0400 |
commit | 89b7c471e2ddf10bd5a00cc084d46f8bfac91f68 (patch) | |
tree | 2a23bfd59b92d26dd1780db742ed64a21796c0f5 | |
parent | d7f21d631f9250504b35e3873598ca5c34dd3a76 (diff) | |
download | gcc-89b7c471e2ddf10bd5a00cc084d46f8bfac91f68.zip gcc-89b7c471e2ddf10bd5a00cc084d46f8bfac91f68.tar.gz gcc-89b7c471e2ddf10bd5a00cc084d46f8bfac91f68.tar.bz2 |
(alpha_emit_conditional_move): Emit correct code when incoming
comparison code is NE.
From-SVN: r12364
-rw-r--r-- | gcc/config/alpha/alpha.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 71989de..b3befe1 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -1035,6 +1035,7 @@ alpha_emit_conditional_move (cmp, mode) enum machine_mode mode; { enum rtx_code code = GET_CODE (cmp); + enum rtx_code cmov_code = NE; rtx op0 = alpha_compare_op0; rtx op1 = alpha_compare_op1; enum machine_mode cmp_mode @@ -1065,6 +1066,7 @@ alpha_emit_conditional_move (cmp, mode) case NE: /* This must be reversed. */ code = reverse_condition (code); + cmov_code = EQ; break; case GE: case GT: case GEU: case GTU: @@ -1081,8 +1083,7 @@ alpha_emit_conditional_move (cmp, mode) tem = gen_reg_rtx (cmp_op_mode); emit_move_insn (tem, gen_rtx (code, cmp_op_mode, op0, op1)); - return gen_rtx (code == NE ? EQ : NE, VOIDmode, tem, - CONST0_RTX (cmp_op_mode)); + return gen_rtx (cmov_code, VOIDmode, tem, CONST0_RTX (cmp_op_mode)); } /* Adjust the cost of a scheduling dependency. Return the new cost of |