rs6000.md (ne0+4): Add extra CLOBBER.
authorGeoffrey Keating <geoffk@redhat.com>
Sat, 9 Mar 2002 21:02:13 +0000 (21:02 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Sat, 9 Mar 2002 21:02:13 +0000 (21:02 +0000)
* config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
(ne0+5): Use new clobber to generate proper shift pattern.
Patch by Michael Matz <matz@kde.org>.

From-SVN: r50509

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

index f88b44df2b935f33c8493fca03084e8daa02a760..56d2cf62f51e7447414196366840a79e4c58847d 100644 (file)
@@ -1,3 +1,9 @@
+2002-03-09  Geoffrey Keating  <geoffk@redhat.com>
+
+       * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
+       (ne0+5): Use new clobber to generate proper shift pattern.
+       Patch by Michael Matz <matz@kde.org>.
+
 2002-03-09  Andreas Schwab  <schwab@suse.de>
 
        * gcc.c (validate_all_switches): Also handle `%W{...}'.
index cf1627657c364d75da27257609aa688bd2e7f569..b1ec3f47ec17386799b677cdb813ea6b623c0a7d 100644 (file)
                   (const_int 31))
                  (match_operand:SI 2 "gpc_reg_operand" "r,r"))
         (const_int 0)))
-   (clobber (match_scratch:SI 3 "=&r,&r"))]
+   (clobber (match_scratch:SI 3 "=&r,&r"))
+   (clobber (match_scratch:SI 4 "=X,&r"))]
   "! TARGET_POWERPC64"
   "@
    {ai|addic} %3,%1,-1\;{aze.|addze.} %3,%2
                   (const_int 31))
                  (match_operand:SI 2 "gpc_reg_operand" ""))
         (const_int 0)))
-   (clobber (match_scratch:SI 3 ""))]
+   (clobber (match_scratch:SI 3 ""))
+   (clobber (match_scratch:SI 4 ""))]
   "! TARGET_POWERPC64 && reload_completed"
-  [(set (match_dup 3)
-       (plus:SI (lshiftrt:SI (neg:SI (abs:SI (match_dup 1)))
-                  (const_int 31))
-                 (match_dup 2)))
+  [(parallel [(set (match_dup 3)
+                  (plus:SI (lshiftrt:SI (neg:SI (abs:SI (match_dup 1)))
+                                        (const_int 31))
+                           (match_dup 2)))
+              (clobber (match_dup 4))])
    (set (match_dup 0)
        (compare:CC (match_dup 3)
                    (const_int 0)))]