Commit 5e645e50 by Torbjorn Granlund

(parallel inc and branch-if-zero/nonzero): Add two new pattern variants.

(parallel inc and branch-if-zero/nonzero): Add two
new pattern variants.  Change incrementing pattern to use incl/jnz.

From-SVN: r13104
parent 8a015216
...@@ -5774,6 +5774,40 @@ ...@@ -5774,6 +5774,40 @@
(define_insn "" (define_insn ""
[(set (pc) [(set (pc)
(if_then_else (ne (match_operand:SI 0 "general_operand" "g") (if_then_else (ne (match_operand:SI 0 "general_operand" "g")
(const_int 1))
(label_ref (match_operand 1 "" ""))
(pc)))
(set (match_dup 0)
(plus:SI (match_dup 0)
(const_int -1)))]
""
"*
{
operands[2] = const1_rtx;
output_asm_insn (AS1 (dec%L0,%0), operands);
return \"jnz %l1\";
}")
(define_insn ""
[(set (pc)
(if_then_else (eq (match_operand:SI 0 "general_operand" "g")
(const_int 1))
(label_ref (match_operand 1 "" ""))
(pc)))
(set (match_dup 0)
(plus:SI (match_dup 0)
(const_int -1)))]
""
"*
{
operands[2] = const1_rtx;
output_asm_insn (AS1 (dec%L0,%0), operands);
return \"jz %l1\";
}")
(define_insn ""
[(set (pc)
(if_then_else (ne (match_operand:SI 0 "general_operand" "g")
(const_int -1)) (const_int -1))
(label_ref (match_operand 1 "" "")) (label_ref (match_operand 1 "" ""))
(pc))) (pc)))
...@@ -5784,8 +5818,8 @@ ...@@ -5784,8 +5818,8 @@
"* "*
{ {
operands[2] = const1_rtx; operands[2] = const1_rtx;
output_asm_insn (AS2 (add%L0,%2,%0), operands); output_asm_insn (AS1 (inc%L0,%0), operands);
return \"jnc %l1\"; return \"jnz %l1\";
}") }")
(define_insn "" (define_insn ""
...@@ -5801,8 +5835,8 @@ ...@@ -5801,8 +5835,8 @@
"* "*
{ {
operands[2] = const1_rtx; operands[2] = const1_rtx;
output_asm_insn (AS2 (add%L0,%2,%0), operands); output_asm_insn (AS1 (inc%L0,%0), operands);
return \"jc %l1\"; return \"jz %l1\";
}") }")
;; Implement switch statements when generating PIC code. Switches are ;; Implement switch statements when generating PIC code. Switches are
......
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