Commit 0387639b by David Edelsohn Committed by David Edelsohn

rs6000.md (sCC pattern and splitter): Remove clobber and use result as temporary value.

        * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
        clobber and use result as temporary value.

From-SVN: r53159
parent 30b50f90
2002-05-04 David Edelsohn <edelsohn@gnu.org>
PR c/6543
* config/rs6000/rs6000.md (sCC pattern and splitter): Remove
clobber and use result as temporary value.
Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz> Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
* expr.c (force_operand): Use expand_simple_* to handle more * expr.c (force_operand): Use expand_simple_* to handle more
......
...@@ -10899,23 +10899,22 @@ ...@@ -10899,23 +10899,22 @@
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:CC 5 "cc_reg_operand" "=x,x,x,x,x,?y,?y,?y,?y,?y") [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,x,x,x,?y,?y,?y,?y,?y")
(compare:CC (compare:CC
(plus:SI (plus:SI
(eq:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r,r,r,r,r,r,r,r,r") (eq:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r,r,r,r,r,r,r,r,r")
(match_operand:SI 2 "reg_or_cint_operand" "r,O,K,L,I,r,O,K,L,I")) (match_operand:SI 2 "reg_or_cint_operand" "r,O,K,L,I,r,O,K,L,I"))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r,r,r,r,r,r,r")) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r,r,r,r,r,r,r"))
(const_int 0))) (const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r,r,r,r,r,r,r") (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r,&r,&r,&r,&r,&r,&r")
(plus:SI (eq:SI (match_dup 1) (match_dup 2)) (match_dup 3))) (plus:SI (eq:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
(clobber (match_scratch:SI 4 "=&r,&r,&r,&r,&r,&r,&r,&r,&r,&r"))]
"! TARGET_POWERPC64" "! TARGET_POWERPC64"
"@ "@
xor %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3 xor %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3
{sfi|subfic} %4,%1,0\;{aze.|addze.} %0,%3 {sfi|subfic} %0,%1,0\;{aze.|addze.} %0,%3
{xoril|xori} %4,%1,%b2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3 {xoril|xori} %0,%1,%b2\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3
{xoriu|xoris} %4,%1,%u2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3 {xoriu|xoris} %0,%1,%u2\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3
{sfi|subfic} %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3 {sfi|subfic} %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3
# #
# #
# #
...@@ -10925,7 +10924,7 @@ ...@@ -10925,7 +10924,7 @@
(set_attr "length" "12,8,12,12,12,16,12,16,16,16")]) (set_attr "length" "12,8,12,12,12,16,12,16,16,16")])
(define_split (define_split
[(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC (compare:CC
(plus:SI (plus:SI
(eq:SI (match_operand:SI 1 "gpc_reg_operand" "") (eq:SI (match_operand:SI 1 "gpc_reg_operand" "")
...@@ -10933,13 +10932,11 @@ ...@@ -10933,13 +10932,11 @@
(match_operand:SI 3 "gpc_reg_operand" "")) (match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0))) (const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "") (set (match_operand:SI 0 "gpc_reg_operand" "")
(plus:SI (eq:SI (match_dup 1) (match_dup 2)) (match_dup 3))) (plus:SI (eq:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
(clobber (match_scratch:SI 4 ""))]
"! TARGET_POWERPC64 && reload_completed" "! TARGET_POWERPC64 && reload_completed"
[(parallel [(set (match_dup 0) [(set (match_dup 0)
(plus:SI (eq:SI (match_dup 1) (match_dup 2)) (match_dup 3))) (plus:SI (eq:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
(clobber (match_dup 4))]) (set (match_dup 4)
(set (match_dup 5)
(compare:CC (match_dup 0) (compare:CC (match_dup 0)
(const_int 0)))] (const_int 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