rs6000.md (floatdisf2_internal2): Combine insns.
authorAlan Modra <amodra@bigpond.net.au>
Sat, 21 Sep 2002 00:20:14 +0000 (00:20 +0000)
committerAlan Modra <amodra@gcc.gnu.org>
Sat, 21 Sep 2002 00:20:14 +0000 (09:50 +0930)
* config/rs6000/rs6000.md (floatdisf2_internal2): Combine
insns.  Supply missing clobber of scratch reg.

From-SVN: r57377

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 31a3dc8..5222233 100644 (file)
@@ -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.
index c1a8478..6d80b0b 100644 (file)
 ;; 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))