]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/22262 (stack_protector use creates broken assembler)
authorJakub Jelinek <jakub@redhat.com>
Fri, 1 Jul 2005 08:25:04 +0000 (10:25 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 1 Jul 2005 08:25:04 +0000 (10:25 +0200)
PR target/22262
* config/i386/i386.md (stack_protect_test_si,
stack_protect_test_di): Add earlyclobber for scratch 3.
* config/rs6000/rs6000.md (stack_protect_testsi,
stack_protect_testdi): Add earlyclobber for scratch 3,
remove earlyclobber from scratch 4.

From-SVN: r101500

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

index 89f189c7042e236c5e28524c9297426cd286cef2..78400083849caa3ed544af469d70a9dfd9b67284 100644 (file)
@@ -1,3 +1,12 @@
+2005-07-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/22262
+       * config/i386/i386.md (stack_protect_test_si,
+       stack_protect_test_di): Add earlyclobber for scratch 3.
+       * config/rs6000/rs6000.md (stack_protect_testsi,
+       stack_protect_testdi): Add earlyclobber for scratch 3,
+       remove earlyclobber from scratch 4.
+
 2005-06-30  Diego Novillo  <dnovillo@redhat.com>
 
        PR 21584
index 02315657ee6eb967e5acf2bc7f10856640a631d4..1ca5d2232726e851236e0406e62a80cf21217f41 100644 (file)
        (unspec:CCZ [(match_operand:SI 1 "memory_operand" "m")
                     (match_operand:SI 2 "memory_operand" "m")]
                    UNSPEC_SP_TEST))
-   (clobber (match_scratch:SI 3 "=r"))]
+   (clobber (match_scratch:SI 3 "=&r"))]
   ""
   "mov{l}\t{%1, %3|%3, %1}\;xor{l}\t{%2, %3|%3, %2}"
   [(set_attr "type" "multi")])
        (unspec:CCZ [(match_operand:DI 1 "memory_operand" "m")
                     (match_operand:DI 2 "memory_operand" "m")]
                    UNSPEC_SP_TEST))
-   (clobber (match_scratch:DI 3 "=r"))]
+   (clobber (match_scratch:DI 3 "=&r"))]
   "TARGET_64BIT"
   "mov{q}\t{%1, %3|%3, %1}\;xor{q}\t{%2, %3|%3, %2}"
   [(set_attr "type" "multi")])
index f7a9df1967a70a56b8c751b67bcafda9dc89b751..9211e567a9fee355eba9ec9c0ab3336839265bbb 100644 (file)
         (unspec:CCEQ [(match_operand:SI 1 "memory_operand" "m,m")
                      (match_operand:SI 2 "memory_operand" "m,m")]
                     UNSPEC_SP_TEST))
-   (clobber (match_scratch:SI 3 "=r,r"))
-   (set (match_scratch:SI 4 "=&r,&r") (const_int 0))]
+   (clobber (match_scratch:SI 3 "=&r,&r"))
+   (set (match_scratch:SI 4 "=r,r") (const_int 0))]
   "TARGET_32BIT"
   "@
    {l%U1%X1|lwz%U1%X1} %3,%1\;{l%U2%X2|lwz%U2%X2} %4,%2\;xor. %3,%3,%4\;{lil|li} %4,0
         (unspec:CCEQ [(match_operand:DI 1 "memory_operand" "m,m")
                      (match_operand:DI 2 "memory_operand" "m,m")]
                     UNSPEC_SP_TEST))
-   (clobber (match_scratch:DI 3 "=r,r"))
-   (set (match_scratch:DI 4 "=&r,&r") (const_int 0))]
+   (clobber (match_scratch:DI 3 "=&r,&r"))
+   (set (match_scratch:DI 4 "=r,r") (const_int 0))]
   "TARGET_64BIT"
   "@
    ld%U1%X1 %3,%1\;ld%U2%X2 %4,%2\;xor. %3,%3,%4\;{lil|li} %4,0