From ae12a094d64ceac6fa406c67f1e38e59bdfd95c9 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Tue, 28 May 2002 12:36:03 +0000 Subject: [PATCH] * config/h8300/h8300.md (two anonymous patterns): New. From-SVN: r53955 --- gcc/ChangeLog | 4 ++++ gcc/config/h8300/h8300.md | 40 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f7a4c6040e7..95ce7d2696c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-05-28 Kazu Hirata + + * config/h8300/h8300.md (two anonymous patterns): New. + 2002-05-28 David S. Miller * config/sparc/sparc.md (cpu): Tidy. diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md index 5dad99612a6..1359a01ad78 100644 --- a/gcc/config/h8300/h8300.md +++ b/gcc/config/h8300/h8300.md @@ -2179,3 +2179,43 @@ "mov.w\\t%f2,%e0" [(set_attr "cc" "clobber") (set_attr "length" "2")]) + +(define_insn_and_split "" + [(set (pc) + (if_then_else (eq (zero_extract:SI (subreg:SI (match_operand:QI 0 "register_operand" "") 0) + (const_int 1) + (const_int 7)) + (const_int 0)) + (label_ref (match_operand 1 "" "")) + (pc)))] + "" + "#" + "" + [(set (cc0) + (match_dup 0)) + (set (pc) + (if_then_else (ge (cc0) + (const_int 0)) + (label_ref (match_dup 1)) + (pc)))] + "") + +(define_insn_and_split "" + [(set (pc) + (if_then_else (ne (zero_extract:SI (subreg:SI (match_operand:QI 0 "register_operand" "") 0) + (const_int 1) + (const_int 7)) + (const_int 0)) + (label_ref (match_operand 1 "" "")) + (pc)))] + "" + "#" + "" + [(set (cc0) + (match_dup 0)) + (set (pc) + (if_then_else (lt (cc0) + (const_int 0)) + (label_ref (match_dup 1)) + (pc)))] + "")