frv.md (*return_true, [...]): New patterns.
authorAlexandre Oliva <aoliva@redhat.com>
Mon, 3 May 2004 02:16:16 +0000 (02:16 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Mon, 3 May 2004 02:16:16 +0000 (02:16 +0000)
2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv.md (*return_true, *return_false): New patterns.

From-SVN: r81424

gcc/ChangeLog
gcc/config/frv/frv.md

index cda4ab94efac6139a18ecf4eac500b35f4edf761..9a2374792e5532073bfe4958a1718bca4414ac16 100644 (file)
@@ -1,3 +1,8 @@
+2004-05-02  Alexandre Oliva  <aoliva@redhat.com>
+
+       2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
+       * config/frv/frv.md (*return_true, *return_false): New patterns.
+
 2004-05-02  Kazu Hirata  <kazu@cs.umass.edu>
 
        * rtl.h (PHI_NODE_P): Remove.
index 36b6d8e7afc5d25a7ca7e690e36729f478ceaa4b..92329cc443d3c4d4ceacadccb42722c8e35bd19d 100644 (file)
   [(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"