diff options
author | Jakub Jelinek <jakub@redhat.com> | 2000-04-05 09:54:16 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2000-04-05 09:54:16 +0200 |
commit | 5deb91a4db90a7fd88a88f99b0ff0b9d1a35dc65 (patch) | |
tree | d2a7d9ae1a9d75847a5869d5ba79c48780111c3a /gcc | |
parent | 1662bacacef524c4cffbe87074d33132a0e11db3 (diff) | |
download | gcc-5deb91a4db90a7fd88a88f99b0ff0b9d1a35dc65.zip gcc-5deb91a4db90a7fd88a88f99b0ff0b9d1a35dc65.tar.gz gcc-5deb91a4db90a7fd88a88f99b0ff0b9d1a35dc65.tar.bz2 |
sparc.md (snedi_zero+1, [...]): Allow splits only if registers are different.
* config/sparc/sparc.md (snedi_zero+1, neg_snedi_zero+1,
snedi_zero_trunc+1, seqdi_zero+1, neg_seqdi_zero+1,
seqdi_zero_trunc+1): Allow splits only if registers are
different.
From-SVN: r32928
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.md | 18 |
2 files changed, 19 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 941d353..e4926a4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2000-04-05 Jakub Jelinek <jakub@redhat.com> + + * config/sparc/sparc.md (snedi_zero+1, neg_snedi_zero+1, + snedi_zero_trunc+1, seqdi_zero+1, neg_seqdi_zero+1, + seqdi_zero_trunc+1): Allow splits only if registers are + different. + 2000-04-04 Ulrich Drepper <drepper@cygnus.com> * acconfig.h: Add HAVE_GAS_HIDDEN. diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index f72f8a8..458038d 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -1187,7 +1187,8 @@ [(set (match_operand:DI 0 "register_operand" "") (ne:DI (match_operand:DI 1 "register_operand" "") (const_int 0)))] - "TARGET_ARCH64" + "TARGET_ARCH64 + && ! reg_overlap_mentioned_p (operands[1], operands[0])" [(set (match_dup 0) (const_int 0)) (set (match_dup 0) (if_then_else:DI (ne:DI (match_dup 1) (const_int 0)) @@ -1208,7 +1209,8 @@ [(set (match_operand:DI 0 "register_operand" "") (neg:DI (ne:DI (match_operand:DI 1 "register_operand" "") (const_int 0))))] - "TARGET_ARCH64" + "TARGET_ARCH64 + && ! reg_overlap_mentioned_p (operands[1], operands[0])" [(set (match_dup 0) (const_int 0)) (set (match_dup 0) (if_then_else:DI (ne:DI (match_dup 1) (const_int 0)) @@ -1229,7 +1231,8 @@ [(set (match_operand:SI 0 "register_operand" "") (ne:SI (match_operand:DI 1 "register_operand" "") (const_int 0)))] - "TARGET_ARCH64" + "TARGET_ARCH64 + && ! reg_overlap_mentioned_p (operands[1], operands[0])" [(set (match_dup 0) (const_int 0)) (set (match_dup 0) (if_then_else:SI (ne:DI (match_dup 1) (const_int 0)) @@ -1314,7 +1317,8 @@ [(set (match_operand:DI 0 "register_operand" "") (eq:DI (match_operand:DI 1 "register_operand" "") (const_int 0)))] - "TARGET_ARCH64" + "TARGET_ARCH64 + && ! reg_overlap_mentioned_p (operands[1], operands[0])" [(set (match_dup 0) (const_int 0)) (set (match_dup 0) (if_then_else:DI (eq:DI (match_dup 1) (const_int 0)) @@ -1335,7 +1339,8 @@ [(set (match_operand:DI 0 "register_operand" "") (neg:DI (eq:DI (match_operand:DI 1 "register_operand" "") (const_int 0))))] - "TARGET_ARCH64" + "TARGET_ARCH64 + && ! reg_overlap_mentioned_p (operands[1], operands[0])" [(set (match_dup 0) (const_int 0)) (set (match_dup 0) (if_then_else:DI (eq:DI (match_dup 1) (const_int 0)) @@ -1356,7 +1361,8 @@ [(set (match_operand:SI 0 "register_operand" "") (eq:SI (match_operand:DI 1 "register_operand" "") (const_int 0)))] - "TARGET_ARCH64" + "TARGET_ARCH64 + && ! reg_overlap_mentioned_p (operands[1], operands[0])" [(set (match_dup 0) (const_int 0)) (set (match_dup 0) (if_then_else:SI (eq:DI (match_dup 1) (const_int 0)) |