Commit 4f856a3e by Jakub Jelinek Committed by Jakub Jelinek

re PR target/22262 (stack_protector use creates broken assembler)

	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
parent a3b6aba2
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> 2005-06-30 Diego Novillo <dnovillo@redhat.com>
PR 21584 PR 21584
......
...@@ -19662,7 +19662,7 @@ ...@@ -19662,7 +19662,7 @@
(unspec:CCZ [(match_operand:SI 1 "memory_operand" "m") (unspec:CCZ [(match_operand:SI 1 "memory_operand" "m")
(match_operand:SI 2 "memory_operand" "m")] (match_operand:SI 2 "memory_operand" "m")]
UNSPEC_SP_TEST)) 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}" "mov{l}\t{%1, %3|%3, %1}\;xor{l}\t{%2, %3|%3, %2}"
[(set_attr "type" "multi")]) [(set_attr "type" "multi")])
...@@ -19672,7 +19672,7 @@ ...@@ -19672,7 +19672,7 @@
(unspec:CCZ [(match_operand:DI 1 "memory_operand" "m") (unspec:CCZ [(match_operand:DI 1 "memory_operand" "m")
(match_operand:DI 2 "memory_operand" "m")] (match_operand:DI 2 "memory_operand" "m")]
UNSPEC_SP_TEST)) UNSPEC_SP_TEST))
(clobber (match_scratch:DI 3 "=r"))] (clobber (match_scratch:DI 3 "=&r"))]
"TARGET_64BIT" "TARGET_64BIT"
"mov{q}\t{%1, %3|%3, %1}\;xor{q}\t{%2, %3|%3, %2}" "mov{q}\t{%1, %3|%3, %1}\;xor{q}\t{%2, %3|%3, %2}"
[(set_attr "type" "multi")]) [(set_attr "type" "multi")])
......
...@@ -10808,8 +10808,8 @@ ...@@ -10808,8 +10808,8 @@
(unspec:CCEQ [(match_operand:SI 1 "memory_operand" "m,m") (unspec:CCEQ [(match_operand:SI 1 "memory_operand" "m,m")
(match_operand:SI 2 "memory_operand" "m,m")] (match_operand:SI 2 "memory_operand" "m,m")]
UNSPEC_SP_TEST)) UNSPEC_SP_TEST))
(clobber (match_scratch:SI 3 "=r,r")) (clobber (match_scratch:SI 3 "=&r,&r"))
(set (match_scratch:SI 4 "=&r,&r") (const_int 0))] (set (match_scratch:SI 4 "=r,r") (const_int 0))]
"TARGET_32BIT" "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 {l%U1%X1|lwz%U1%X1} %3,%1\;{l%U2%X2|lwz%U2%X2} %4,%2\;xor. %3,%3,%4\;{lil|li} %4,0
...@@ -10821,8 +10821,8 @@ ...@@ -10821,8 +10821,8 @@
(unspec:CCEQ [(match_operand:DI 1 "memory_operand" "m,m") (unspec:CCEQ [(match_operand:DI 1 "memory_operand" "m,m")
(match_operand:DI 2 "memory_operand" "m,m")] (match_operand:DI 2 "memory_operand" "m,m")]
UNSPEC_SP_TEST)) UNSPEC_SP_TEST))
(clobber (match_scratch:DI 3 "=r,r")) (clobber (match_scratch:DI 3 "=&r,&r"))
(set (match_scratch:DI 4 "=&r,&r") (const_int 0))] (set (match_scratch:DI 4 "=r,r") (const_int 0))]
"TARGET_64BIT" "TARGET_64BIT"
"@ "@
ld%U1%X1 %3,%1\;ld%U2%X2 %4,%2\;xor. %3,%3,%4\;{lil|li} %4,0 ld%U1%X1 %3,%1\;ld%U2%X2 %4,%2\;xor. %3,%3,%4\;{lil|li} %4,0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment