(prologue, epilogue, profiler, locate1, locate2): New
authorTom Wood <wood@gnu.org>
Mon, 29 Jun 1992 20:46:19 +0000 (20:46 +0000)
committerTom Wood <wood@gnu.org>
Mon, 29 Jun 1992 20:46:19 +0000 (20:46 +0000)
patterns for representing prologues and epilogues.

From-SVN: r1345

gcc/config/m88k/m88k.md

index 29366ab072873c71702c10870ba99ec5647ec0e1..db640b46af94d6c5b01e1a06b6a690bb529ca470 100644 (file)
@@ -28,7 +28,7 @@
 (define_expand "m88k_sccs_id"
   [(match_operand:SI 0 "" "")]
   ""
-  "{ static char sccs_id[] = \"@(#)m88k.md     2.2.3.6 27 Jun 1992 06:29:32\";
+  "{ static char sccs_id[] = \"@(#)m88k.md     2.2.3.13 29 Jun 1992 16:41:06\";
      FAIL; }")
 \f
 ;; Attribute specifications
 }"
   [(set_attr "type" "branch")])
 \f
+(define_insn "locate1"
+  [(set (match_operand:SI 0 "register_operand" "r")
+       (high:SI (unspec:SI [(label_ref (match_operand 1 "" ""))] 0)))]
+  ""
+  "or.u %0,%#r0,%#hi16(%1#abdiff)")
+
+(define_insn "locate2"
+  [(parallel [(set (reg:SI 1) (pc))
+             (set (match_operand:SI 0 "register_operand" "r")
+                  (lo_sum:SI (match_dup 0)
+                             (unspec:SI
+                              [(label_ref (match_operand 1 "" ""))] 0)))])]
+  ""
+  "bsr.n %1\;or %0,%0,%#lo16(%1#abdiff)\\n%1:"
+  [(set_attr "length" "2")])
+\f
 ;; SImode move instructions
 
 (define_expand "movsi"
   "jmp%. %#r1"
   [(set_attr "type" "jump")])
 
+(define_expand "prologue"
+  [(const_int 0)]
+  ""
+  "m88k_expand_prologue (); DONE;")
+
+(define_expand "epilogue"
+  [(set (pc) (reg:SI 1))]
+  ""
+  "m88k_expand_epilogue ();")
+
+(define_insn "profiler"
+  [(unspec_volatile [(const_int 0)] 0)]
+  ""
+  ""
+  [(set_attr "length" "0")])
+
 (define_insn "indirect_jump"
   [(set (pc) (match_operand:SI 0 "register_operand" "r"))]
   ""