OSDN Git Service

PR target/13713
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Jan 2004 17:51:25 +0000 (17:51 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Jan 2004 17:51:25 +0000 (17:51 +0000)
PR target/13324
* pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
clrstrdi_prereload, clrstrdi_postreload): Fix constraints.

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

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

index 57bb863..69346c6 100644 (file)
@@ -1,3 +1,11 @@
+2004-01-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/13713
+       PR target/13324
+       * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
+       movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
+       clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
+
 2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
 
        * config/arm/arm.c: Include "debug.h".
index 4530d42..9d06f34 100644 (file)
 (define_insn "movstrsi_prereload"
   [(set (mem:BLK (match_operand:SI 0 "register_operand" "r,r"))
        (mem:BLK (match_operand:SI 1 "register_operand" "r,r")))
-   (clobber (match_operand:SI 2 "register_operand" "=r,r"))    ;loop cnt/tmp
+   (clobber (match_operand:SI 2 "register_operand" "=&r,&r"))  ;loop cnt/tmp
    (clobber (match_operand:SI 3 "register_operand" "=&r,&r"))  ;item tmp1
    (clobber (match_operand:SI 6 "register_operand" "=&r,&r"))  ;item tmp2
    (clobber (match_operand:SI 7 "register_operand" "=&r,&r"))  ;item tmp3
 }")
 
 (define_insn "movstrsi_postreload"
-  [(set (mem:BLK (match_operand:SI 0 "register_operand" "r,r"))
-       (mem:BLK (match_operand:SI 1 "register_operand" "r,r")))
-   (clobber (match_operand:SI 2 "register_operand" "=r,r"))    ;loop cnt/tmp
+  [(set (mem:BLK (match_operand:SI 0 "register_operand" "+r,r"))
+       (mem:BLK (match_operand:SI 1 "register_operand" "+r,r")))
+   (clobber (match_operand:SI 2 "register_operand" "=&r,&r"))  ;loop cnt/tmp
    (clobber (match_operand:SI 3 "register_operand" "=&r,&r"))  ;item tmp1
    (clobber (match_operand:SI 6 "register_operand" "=&r,&r"))  ;item tmp2
    (clobber (match_dup 0))
 (define_insn "movstrdi_prereload"
   [(set (mem:BLK (match_operand:DI 0 "register_operand" "r,r"))
        (mem:BLK (match_operand:DI 1 "register_operand" "r,r")))
-   (clobber (match_operand:DI 2 "register_operand" "=r,r"))    ;loop cnt/tmp
+   (clobber (match_operand:DI 2 "register_operand" "=&r,&r"))  ;loop cnt/tmp
    (clobber (match_operand:DI 3 "register_operand" "=&r,&r"))  ;item tmp1
    (clobber (match_operand:DI 6 "register_operand" "=&r,&r"))  ;item tmp2
    (clobber (match_operand:DI 7 "register_operand" "=&r,&r"))  ;item tmp3
 }")
 
 (define_insn "movstrdi_postreload"
-  [(set (mem:BLK (match_operand:DI 0 "register_operand" "r,r"))
-       (mem:BLK (match_operand:DI 1 "register_operand" "r,r")))
-   (clobber (match_operand:DI 2 "register_operand" "=r,r"))    ;loop cnt/tmp
+  [(set (mem:BLK (match_operand:DI 0 "register_operand" "+r,r"))
+       (mem:BLK (match_operand:DI 1 "register_operand" "+r,r")))
+   (clobber (match_operand:DI 2 "register_operand" "=&r,&r"))  ;loop cnt/tmp
    (clobber (match_operand:DI 3 "register_operand" "=&r,&r"))  ;item tmp1
    (clobber (match_operand:DI 6 "register_operand" "=&r,&r"))  ;item tmp2
    (clobber (match_dup 0))
 (define_insn "clrstrsi_prereload"
   [(set (mem:BLK (match_operand:SI 0 "register_operand" "r,r"))
        (const_int 0))
-   (clobber (match_operand:SI 1 "register_operand" "=r,r"))    ;loop cnt/tmp
+   (clobber (match_operand:SI 1 "register_operand" "=&r,&r"))  ;loop cnt/tmp
    (clobber (match_operand:SI 4 "register_operand" "=&r,&r"))  ;tmp1
    (use (match_operand:SI 2 "arith_operand" "J,1"))     ;byte count
    (use (match_operand:SI 3 "const_int_operand" "n,n"))] ;alignment
 }")
 
 (define_insn "clrstrsi_postreload"
-  [(set (mem:BLK (match_operand:SI 0 "register_operand" "r,r"))
+  [(set (mem:BLK (match_operand:SI 0 "register_operand" "+r,r"))
        (const_int 0))
-   (clobber (match_operand:SI 1 "register_operand" "=r,r"))    ;loop cnt/tmp
+   (clobber (match_operand:SI 1 "register_operand" "=&r,&r"))  ;loop cnt/tmp
    (clobber (match_dup 0))
    (use (match_operand:SI 2 "arith_operand" "J,1"))     ;byte count
    (use (match_operand:SI 3 "const_int_operand" "n,n"))  ;alignment
 (define_insn "clrstrdi_prereload"
   [(set (mem:BLK (match_operand:DI 0 "register_operand" "r,r"))
        (const_int 0))
-   (clobber (match_operand:DI 1 "register_operand" "=r,r"))    ;loop cnt/tmp
+   (clobber (match_operand:DI 1 "register_operand" "=&r,&r"))  ;loop cnt/tmp
    (clobber (match_operand:DI 4 "register_operand" "=&r,&r"))  ;item tmp1
    (use (match_operand:DI 2 "arith_operand" "J,1"))     ;byte count
    (use (match_operand:DI 3 "const_int_operand" "n,n"))] ;alignment
 }")
 
 (define_insn "clrstrdi_postreload"
-  [(set (mem:BLK (match_operand:DI 0 "register_operand" "r,r"))
+  [(set (mem:BLK (match_operand:DI 0 "register_operand" "+r,r"))
        (const_int 0))
-   (clobber (match_operand:DI 1 "register_operand" "=r,r"))    ;loop cnt/tmp
+   (clobber (match_operand:DI 1 "register_operand" "=&r,&r"))  ;loop cnt/tmp
    (clobber (match_dup 0))
    (use (match_operand:DI 2 "arith_operand" "J,1"))     ;byte count
    (use (match_operand:DI 3 "const_int_operand" "n,n"))  ;alignment