From 5f2b959917e0d13044851e6165e9c17d4f4b3a0f Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Mon, 3 May 2004 02:16:16 +0000 Subject: [PATCH] frv.md (*return_true, [...]): New patterns. 2003-11-19 Richard Sandiford * config/frv/frv.md (*return_true, *return_false): New patterns. From-SVN: r81424 --- gcc/ChangeLog | 5 +++++ gcc/config/frv/frv.md | 24 ++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cda4ab94efa..9a2374792e5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-05-02 Alexandre Oliva + + 2003-11-19 Richard Sandiford + * config/frv/frv.md (*return_true, *return_false): New patterns. + 2004-05-02 Kazu Hirata * rtl.h (PHI_NODE_P): Remove. diff --git a/gcc/config/frv/frv.md b/gcc/config/frv/frv.md index 36b6d8e7afc..92329cc443d 100644 --- a/gcc/config/frv/frv.md +++ b/gcc/config/frv/frv.md @@ -5539,6 +5539,30 @@ [(set_attr "length" "4") (set_attr "type" "jump,jumpl")]) +(define_insn "*return_true" + [(set (pc) + (if_then_else (match_operator:CC 0 "signed_relational_operator" + [(match_operand 1 "icc_operand" "t") + (const_int 0)]) + (return) + (pc)))] + "direct_return_p ()" + "b%c0lr %1,%#" + [(set_attr "length" "4") + (set_attr "type" "jump")]) + +(define_insn "*return_false" + [(set (pc) + (if_then_else (match_operator:CC 0 "signed_relational_operator" + [(match_operand 1 "icc_operand" "t") + (const_int 0)]) + (pc) + (return)))] + "direct_return_p ()" + "b%C0lr %1,%#" + [(set_attr "length" "4") + (set_attr "type" "jump")]) + (define_insn "*return_unsigned_true" [(set (pc) (if_then_else (match_operator:CC_UNS 0 "unsigned_relational_operator" -- 2.30.2