From: Doug Evans Date: Mon, 15 May 1995 01:32:32 +0000 (+0000) Subject: (movsicc, case NE): Don't generate unrecognizable insn. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b10ed55576e7a0e0f861eb5e8b8e34e1d194cb13;p=gcc.git (movsicc, case NE): Don't generate unrecognizable insn. (movdicc, case NE): Likewise. From-SVN: r9685 --- diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index 4f46a130c41..aa745abb6f3 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -2234,13 +2234,18 @@ " { rtx op0,op1; - enum rtx_code code = GET_CODE (operands[1]); + enum rtx_code code = GET_CODE (operands[1]), code2 = NE; if (alpha_compare_fp_p) FAIL; switch (code) { - case EQ: case NE: case LE: case LT: + case EQ: case LE: case LT: + op0 = alpha_compare_op0; + op1 = alpha_compare_op1; + break; + case NE: + code = code2 = EQ; op0 = alpha_compare_op0; op1 = alpha_compare_op1; break; @@ -2259,7 +2264,7 @@ } operands[1] = gen_rtx (code, DImode, op0, op1); operands[4] = gen_reg_rtx (DImode); - operands[5] = gen_rtx (NE, VOIDmode, operands[4], CONST0_RTX (DImode)); + operands[5] = gen_rtx (code2, VOIDmode, operands[4], CONST0_RTX (DImode)); }") (define_expand "movdicc" @@ -2272,13 +2277,18 @@ " { rtx op0,op1; - enum rtx_code code = GET_CODE (operands[1]); + enum rtx_code code = GET_CODE (operands[1]), code2 = NE; if (alpha_compare_fp_p) FAIL; switch (code) { - case EQ: case NE: case LE: case LT: + case EQ: case LE: case LT: + op0 = alpha_compare_op0; + op1 = alpha_compare_op1; + break; + case NE: + code = code2 = EQ; op0 = alpha_compare_op0; op1 = alpha_compare_op1; break; @@ -2297,7 +2307,7 @@ } operands[1] = gen_rtx (code, DImode, op0, op1); operands[4] = gen_reg_rtx (DImode); - operands[5] = gen_rtx (NE, VOIDmode, operands[4], CONST0_RTX (DImode)); + operands[5] = gen_rtx (code2, VOIDmode, operands[4], CONST0_RTX (DImode)); }") (define_expand "movsfcc"