From: Tom Wood Date: Mon, 29 Jun 1992 20:46:19 +0000 (+0000) Subject: (prologue, epilogue, profiler, locate1, locate2): New X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3e72128498c6e557e19a6692dd900add55fbf21f;p=gcc.git (prologue, epilogue, profiler, locate1, locate2): New patterns for representing prologues and epilogues. From-SVN: r1345 --- diff --git a/gcc/config/m88k/m88k.md b/gcc/config/m88k/m88k.md index 29366ab0728..db640b46af9 100644 --- a/gcc/config/m88k/m88k.md +++ b/gcc/config/m88k/m88k.md @@ -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; }") ;; Attribute specifications @@ -1009,6 +1009,22 @@ }" [(set_attr "type" "branch")]) +(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")]) + ;; SImode move instructions (define_expand "movsi" @@ -3075,6 +3091,22 @@ "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"))] ""