aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-09-21 00:20:14 +0000
committerAlan Modra <amodra@gcc.gnu.org>2002-09-21 09:50:14 +0930
commit42a6388c3ff9645a7b95fbc1075dbcf20b2a18e0 (patch)
tree29b92922a5ff40f1c4a6ee5ee33d350b5e4e806b
parenta0ab749a7a4795cd0ad8762001fb0ae076ca68ea (diff)
downloadgcc-42a6388c3ff9645a7b95fbc1075dbcf20b2a18e0.zip
gcc-42a6388c3ff9645a7b95fbc1075dbcf20b2a18e0.tar.gz
gcc-42a6388c3ff9645a7b95fbc1075dbcf20b2a18e0.tar.bz2
rs6000.md (floatdisf2_internal2): Combine insns.
* config/rs6000/rs6000.md (floatdisf2_internal2): Combine insns. Supply missing clobber of scratch reg. From-SVN: r57377
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.md8
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 31a3dc8..5222233 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-21 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
+ insns. Supply missing clobber of scratch reg.
+
2002-09-20 Kazu Hirata <kazu@cs.umass.edu>
* config/m32r/m32r.c: Follow spelling conventions.
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index c1a8478..6d80b0b 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -5929,8 +5929,12 @@
;; by a bit that won't be lost at that stage, but is below the SFmode
;; rounding position.
(define_expand "floatdisf2_internal2"
- [(set (match_dup 2) (and:DI (match_operand:DI 0 "" "") (const_int 2047)))
- (set (match_dup 4) (compare:CC (match_dup 2) (const_int 0)))
+ [(parallel [(set (match_dup 4)
+ (compare:CC (and:DI (match_operand:DI 0 "" "")
+ (const_int 2047))
+ (const_int 0)))
+ (set (match_dup 2) (and:DI (match_dup 0) (const_int 2047)))
+ (clobber (match_scratch:CC 7 ""))])
(set (match_dup 3) (ashiftrt:DI (match_dup 0) (const_int 53)))
(set (match_dup 3) (plus:DI (match_dup 3) (const_int 1)))
(set (pc) (if_then_else (eq (match_dup 4) (const_int 0))