aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2001-02-13 00:46:52 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-02-13 00:46:52 -0800
commit1b9ea8eb1a5e831e8c3d474aedc8f9996306d14e (patch)
tree476cb6458ac4333f65dd3f96cb373e5b9883deac /gcc
parent9c5ef75ebf62e77b2323b045533fe8524ef7f7bd (diff)
downloadgcc-1b9ea8eb1a5e831e8c3d474aedc8f9996306d14e.zip
gcc-1b9ea8eb1a5e831e8c3d474aedc8f9996306d14e.tar.gz
gcc-1b9ea8eb1a5e831e8c3d474aedc8f9996306d14e.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config/sparc/sparc.md18
2 files changed, 20 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8761c12..7e5f0f5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2001-02-13 Richard Henderson <rth@redhat.com>
+
+ * 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 <aoliva@redhat.com>
* explow.c (trunc_int_for_mode): Sign-extend value to mode.
@@ -140,8 +148,8 @@ Fri Feb 9 15:05:27 2001 Christopher Faylor <cgf@cygnus.com>
2001-02-09 Neil Booth <neil@daikokuya.demon.co.uk>
- * 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 <Franz.Sirl-kernel@lauterbach.com>
David Edelsohn <edelsohn@gnu.org>
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 861aee2..abfad79 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")])