Commit 00751805 by Richard Kenner

(plus of gtu patterns): Add case to handle immediates.

From-SVN: r3285
parent cfcf04a6
...@@ -4442,38 +4442,47 @@ ...@@ -4442,38 +4442,47 @@
[(set_attr "type" "compare")]) [(set_attr "type" "compare")])
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r") [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r")
(plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r")
(match_operand:SI 2 "reg_or_short_operand" "rI,rI")) (match_operand:SI 2 "reg_or_short_operand" "I,r,rI"))
(match_operand:SI 3 "reg_or_short_operand" "r,I"))) (match_operand:SI 3 "reg_or_short_operand" "r,r,I")))
(clobber (match_scratch:SI 4 "=&r,&r"))] (clobber (match_scratch:SI 4 "=&r,&r,&r"))]
"" ""
"sf%I2 %4,%1,%2\;sfe %4,%4,%4\;sf%I3 %0,%4,%3") "@
ai %4,%1,%k2\;aze %0,%3
sf%I2 %4,%1,%2\;sfe %4,%4,%4\;sf%I3 %0,%4,%3
sf%I2 %4,%1,%2\;sfe %4,%4,%4\;sf%I3 %0,%4,%3")
(define_insn "" (define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x,x") [(set (match_operand:CC 0 "cc_reg_operand" "=x,x,x")
(compare:CC (compare:CC
(plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r")
(match_operand:SI 2 "reg_or_short_operand" "rI,rI")) (match_operand:SI 2 "reg_or_short_operand" "I,r,rI"))
(match_operand:SI 3 "reg_or_short_operand" "r,I")) (match_operand:SI 3 "reg_or_short_operand" "r,r,I"))
(const_int 0))) (const_int 0)))
(clobber (match_scratch:SI 4 "=&r,&r"))] (clobber (match_scratch:SI 4 "=&r,&r,&r"))]
"" ""
"sf%I2 %4,%1,%2\;sfe %4,%4,%4\;sf%I3. %4,%4,%3" "@
ai %4,%1,%k2\;aze. %0,%3
sf%I2 %4,%1,%2\;sfe %4,%4,%4\;sf%I3. %0,%4,%3
sf%I2 %4,%1,%2\;sfe %4,%4,%4\;sf%I3. %0,%4,%3"
[(set_attr "type" "compare")]) [(set_attr "type" "compare")])
(define_insn "" (define_insn ""
[(set (match_operand:CC 5 "cc_reg_operand" "=x,x") [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,x")
(compare:CC (compare:CC
(plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r")
(match_operand:SI 2 "reg_or_short_operand" "rI,rI")) (match_operand:SI 2 "reg_or_short_operand" "I,r,rI"))
(match_operand:SI 3 "reg_or_short_operand" "r,I")) (match_operand:SI 3 "reg_or_short_operand" "r,r,I"))
(const_int 0))) (const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r") (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r")
(plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
(clobber (match_scratch:SI 4 "=&r,&r"))] (clobber (match_scratch:SI 4 "=&r,&r,&r"))]
"" ""
"sf%I2 %4,%1,%2\;sfe %4,%4,%4\;sf%I3. %0,%4,%3" "@
ai %4,%1,%k2\;aze. %0,%3
sf%I2 %4,%1,%2\;sfe %4,%4,%4\;sf%I3. %0,%4,%3
sf%I2 %4,%1,%2\;sfe %4,%4,%4\;sf%I3. %0,%4,%3"
[(set_attr "type" "compare")]) [(set_attr "type" "compare")])
(define_insn "" (define_insn ""
......
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