Commit 161eb4fc by Richard Henderson Committed by Richard Henderson

* config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.

From-SVN: r51736
parent 501e321e
2002-04-02 Richard Henderson <rth@redhat.com>
PR opt/420
* config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
2002-04-01 Richard Henderson <rth@redhat.com>
PR target/1538
......
......@@ -7653,6 +7653,53 @@
;;
;; Which moves the jCC condition outside the inner loop for free.
;;
(define_peephole
[(set (pc) (if_then_else (match_operator 3 "valid_dbcc_comparison_p"
[(cc0) (const_int 0)])
(label_ref (match_operand 2 "" ""))
(pc)))
(parallel
[(set (pc)
(if_then_else
(ne (match_operand:HI 0 "register_operand" "")
(const_int 0))
(label_ref (match_operand 1 "" ""))
(pc)))
(set (match_dup 0)
(plus:HI (match_dup 0)
(const_int -1)))])]
"!TARGET_5200 && DATA_REG_P (operands[0]) && ! flags_in_68881 ()"
"*
{
CC_STATUS_INIT;
output_dbcc_and_branch (operands);
return \"\";
}")
(define_peephole
[(set (pc) (if_then_else (match_operator 3 "valid_dbcc_comparison_p"
[(cc0) (const_int 0)])
(label_ref (match_operand 2 "" ""))
(pc)))
(parallel
[(set (pc)
(if_then_else
(ne (match_operand:SI 0 "register_operand" "")
(const_int 0))
(label_ref (match_operand 1 "" ""))
(pc)))
(set (match_dup 0)
(plus:SI (match_dup 0)
(const_int -1)))])]
"!TARGET_5200 && DATA_REG_P (operands[0]) && ! flags_in_68881 ()"
"*
{
CC_STATUS_INIT;
output_dbcc_and_branch (operands);
return \"\";
}")
(define_peephole
[(set (pc) (if_then_else (match_operator 3 "valid_dbcc_comparison_p"
[(cc0) (const_int 0)])
......@@ -7661,7 +7708,7 @@
(parallel
[(set (pc)
(if_then_else
(ge (plus:HI (match_operand:HI 0 "register_operand" "+d")
(ge (plus:HI (match_operand:HI 0 "register_operand" "")
(const_int -1))
(const_int 0))
(label_ref (match_operand 1 "" ""))
......@@ -7685,7 +7732,7 @@
(parallel
[(set (pc)
(if_then_else
(ge (plus:SI (match_operand:SI 0 "register_operand" "+d")
(ge (plus:SI (match_operand:SI 0 "register_operand" "")
(const_int -1))
(const_int 0))
(label_ref (match_operand 1 "" ""))
......
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