From: Richard Henderson Date: Tue, 13 Feb 2001 08:46:52 +0000 (-0800) Subject: sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the entire operator... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1b9ea8eb1a5e831e8c3d474aedc8f9996306d14e;p=gcc.git sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the entire operator... * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the entire operator; replicate that and match_dup the operands. (cmp_ccx_arith_op_set): Likewise. (cmp_cc_arith_op_not_set): Likewise. (cmp_ccx_arith_op_not_set): Likewise. From-SVN: r39620 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8761c12ec50..7e5f0f5147d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2001-02-13 Richard Henderson + + * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the + entire operator; replicate that and match_dup the operands. + (cmp_ccx_arith_op_set): Likewise. + (cmp_cc_arith_op_not_set): Likewise. + (cmp_ccx_arith_op_not_set): Likewise. + 2001-02-13 Alexandre Oliva * explow.c (trunc_int_for_mode): Sign-extend value to mode. @@ -140,8 +148,8 @@ Fri Feb 9 15:05:27 2001 Christopher Faylor 2001-02-09 Neil Booth - * gcc.c (cpp_options): Delete .d files on error. Don't delete - .o files when using the -M options. + * gcc.c (cpp_options): Delete .d files on error. Don't delete + .o files when using the -M options. 2001-02-08 Franz Sirl David Edelsohn diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 861aee2c866..abfad793115 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -7108,8 +7108,8 @@ (match_operand:SI 2 "arith_operand" "rI")]) (const_int 0))) (set (match_operand:SI 0 "register_operand" "=r") - (match_dup 3))] - "" + (match_operator:SI 4 "cc_arithop" [(match_dup 1) (match_dup 2)]))] + "GET_CODE (operands[3]) == GET_CODE (operands[4])" "%A3cc\\t%1, %2, %0" [(set_attr "type" "compare") (set_attr "length" "1")]) @@ -7122,8 +7122,8 @@ (match_operand:DI 2 "arith_double_operand" "rHI")]) (const_int 0))) (set (match_operand:DI 0 "register_operand" "=r") - (match_dup 3))] - "TARGET_ARCH64" + (match_operator:DI 4 "cc_arithop" [(match_dup 1) (match_dup 2)]))] + "TARGET_ARCH64 && GET_CODE (operands[3]) == GET_CODE (operands[4])" "%A3cc\\t%1, %2, %0" [(set_attr "type" "compare") (set_attr "length" "1")]) @@ -7208,8 +7208,9 @@ (match_operand:SI 2 "reg_or_0_operand" "rJ")]) (const_int 0))) (set (match_operand:SI 0 "register_operand" "=r") - (match_dup 3))] - "" + (match_operator:SI 4 "cc_arithopn" + [(not:SI (match_dup 1)) (match_dup 2)]))] + "GET_CODE (operands[3]) == GET_CODE (operands[4])" "%B3cc\\t%r2, %1, %0" [(set_attr "type" "compare") (set_attr "length" "1")]) @@ -7222,8 +7223,9 @@ (match_operand:DI 2 "reg_or_0_operand" "rJ")]) (const_int 0))) (set (match_operand:DI 0 "register_operand" "=r") - (match_dup 3))] - "TARGET_ARCH64" + (match_operator:DI 4 "cc_arithopn" + [(not:DI (match_dup 1)) (match_dup 2)]))] + "TARGET_ARCH64 && GET_CODE (operands[3]) == GET_CODE (operands[4])" "%B3cc\\t%r2, %1, %0" [(set_attr "type" "compare") (set_attr "length" "1")])