OSDN Git Service

PR optimization/12630
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Oct 2003 03:32:21 +0000 (03:32 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Oct 2003 03:32:21 +0000 (03:32 +0000)
* pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
for operands 7 and 8.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72590 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/pa/pa.md

index 37050c1..640ad1a 100644 (file)
@@ -1,3 +1,9 @@
+2003-10-16  Jan Hubicka  <jh@suse.cz>
+
+       PR optimization/12630
+       * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
+       for operands 7 and 8.
+
 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
 
        * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
index f6d9238..958c635 100644 (file)
 (define_expand "movstrsi"
   [(parallel [(set (match_operand:BLK 0 "" "")
                   (match_operand:BLK 1 "" ""))
-             (clobber (match_dup 7))
-             (clobber (match_dup 8))
+             (clobber (match_scratch:SI 7 ""))
+             (clobber (match_scratch:SI 8 ""))
              (clobber (match_dup 4))
              (clobber (match_dup 5))
              (clobber (match_dup 6))
 ;; therefore it is forced to operand 2.  If the count is compile-time
 ;; determined, we need two scratch registers for the unrolled code.
 (define_insn "movstrsi_internal"
-  [(set (mem:BLK (match_operand:SI 0 "register_operand" "+r,r"))
-       (mem:BLK (match_operand:SI 1 "register_operand" "+r,r")))
-   (clobber (match_dup 0))
-   (clobber (match_dup 1))
+  [(set (mem:BLK (match_operand:SI 0 "register_operand" "r,r"))
+       (mem:BLK (match_operand:SI 1 "register_operand" "r,r")))
+   (clobber (match_scratch:SI 7 "=0,0"))
+   (clobber (match_scratch:SI 8 "=1,1"))
    (clobber (match_operand:SI 2 "register_operand" "=r,r"))    ;loop cnt/tmp
    (clobber (match_operand:SI 3 "register_operand" "=&r,&r"))  ;item tmp
    (clobber (match_operand:SI 6 "register_operand" "=&r,&r"))  ;item tmp2