OSDN Git Service

Include a (return) in the epilogue, and emit it using emit_jump_insn not
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Feb 2000 17:58:36 +0000 (17:58 +0000)
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Feb 2000 17:58:36 +0000 (17:58 +0000)
emit_insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31899 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/thumb.md

index 5be98c7..f970104 100644 (file)
@@ -1,3 +1,9 @@
+2000-02-10  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/thumb.md (epilogue): Include a (return) in the
+       generated insn, and emit it using emit_jump_insn not
+       emit_insn. 
+
 Thu Feb 10 18:28:59 MET 2000  Jan Hubicka  <jh@suse.cz>
 
        * function.c (assign_temp): Change zero-sized arrays to size 1.
index aa38340..7539889 100644 (file)
 ;; register.  Trying to reload it will always fail catastrophically,
 ;; so never allow those alternatives to match if reloading is needed.
 (define_insn "addsi3"
-  [(set (match_operand:SI 0 "register_operand" "=l,l,l,*r,*h,l,!k")
+  [(set (match_operand:SI          0 "register_operand" "=l,l,l,*r,*h,l,!k")
        (plus:SI (match_operand:SI 1 "register_operand" "%0,0,l,*0,*0,!k,!k")
                 (match_operand:SI 2 "nonmemory_operand" "I,J,lL,*h,*r,!M,!O")))]
   ""
 ")
 
 (define_expand "epilogue"
-  [(unspec_volatile [(const_int 0)] 1)]
+  [(unspec_volatile [(return)] 1)]
   "! thumb_trivial_epilogue ()"
   "
   thumb_expand_epilogue ();
+  emit_jump_insn (gen_rtx_UNSPEC_VOLATILE (VOIDmode,
+       gen_rtvec (1, gen_rtx_RETURN (VOIDmode)), 1));
+  DONE;
 ")
 
 (define_insn "*epilogue_insns"
-  [(unspec_volatile [(const_int 0)] 1)]
+  [(unspec_volatile [(return)] 1)]
   ""
   "*
   return thumb_unexpanded_epilogue ();