From 7ac18cf65b8a345802235e788c1e7cd1297a7e27 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 28 Apr 1995 10:38:02 -0400 Subject: [PATCH] (mov[sd]i and splits): Change call to alpha_emit_set_const. From-SVN: r9533 --- gcc/config/alpha/alpha.md | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index 350d32bc750..4f46a130c41 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -3071,10 +3071,10 @@ ; else if (GET_CODE (operands[1]) == CONST_INT) { - if (alpha_emit_set_const (operands[0], INTVAL (operands[1]), 3)) + operands[1] + = alpha_emit_set_const (operands[0], SImode, INTVAL (operands[1]), 3); + if (rtx_equal_p (operands[0], operands[1])) DONE; - else - abort (); } }") @@ -3088,7 +3088,10 @@ [(set (match_dup 0) (match_dup 2)) (set (match_dup 0) (plus:SI (match_dup 0) (match_dup 3)))] " -{ if (alpha_emit_set_const (operands[0], INTVAL (operands[1]), 2)) +{ rtx tem + = alpha_emit_set_const (operands[0], SImode, INTVAL (operands[1]), 2); + + if (tem == operands[0]) DONE; else FAIL; @@ -3123,6 +3126,8 @@ "" " { + rtx tem; + if (GET_CODE (operands[0]) == MEM && ! reg_or_0_operand (operands[1], DImode)) operands[1] = force_reg (DImode, operands[1]); @@ -3130,8 +3135,14 @@ if (! CONSTANT_P (operands[1]) || input_operand (operands[1], DImode)) ; else if (GET_CODE (operands[1]) == CONST_INT - && alpha_emit_set_const (operands[0], INTVAL (operands[1]), 3)) - DONE; + && (tem = alpha_emit_set_const (operands[0], DImode, + INTVAL (operands[1]), 3)) != 0) + { + if (rtx_equal_p (tem, operands[0])) + DONE; + else + operands[1] = tem; + } else if (CONSTANT_P (operands[1])) { operands[1] = force_const_mem (DImode, operands[1]); @@ -3157,7 +3168,10 @@ [(set (match_dup 0) (match_dup 2)) (set (match_dup 0) (plus:DI (match_dup 0) (match_dup 3)))] " -{ if (alpha_emit_set_const (operands[0], INTVAL (operands[1]), 2)) +{ rtx tem + = alpha_emit_set_const (operands[0], DImode, INTVAL (operands[1]), 2); + + if (tem == operands[0]) DONE; else FAIL; -- 2.30.2