c4x.md (return_indirect_internal): New.
authorHerman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
Fri, 4 Aug 2000 23:43:22 +0000 (01:43 +0200)
committerMichael Hayes <m.hayes@gcc.gnu.org>
Fri, 4 Aug 2000 23:43:22 +0000 (23:43 +0000)
2000-08-05  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>

        * config/c4x/c4x.md (return_indirect_internal): New.
        * config/c4x/c4x.c (c4x_expand_epilogue): Use it.

From-SVN: r35497

gcc/ChangeLog
gcc/config/c4x/c4x.c
gcc/config/c4x/c4x.md

index 6f56ef5943496a0aacfeae823e6473a97f983a8d..2880934a5b4524351c01f058ba0c70e3e6235c02 100644 (file)
@@ -1,3 +1,8 @@
+2000-08-05  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+        * config/c4x/c4x.md (return_indirect_internal): New.
+        * config/c4x/c4x.c (c4x_expand_epilogue): Use it.
+
 2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * c-common.c (time_char_table): Mark up formats added in C99 and
index c8d865c4b63984cb46add2a289d0efa788d6aa47..49bfadc66a9b6a6c16ca61bc43e58e61f05b8e11 100644 (file)
@@ -1165,8 +1165,8 @@ c4x_expand_epilogue()
       
       if (jump)
        {
-         insn = emit_insn (gen_indirect_jump (
-                                              gen_rtx_REG (QImode, R2_REGNO)));
+         insn = emit_jump_insn (gen_return_indirect_internal
+                                (gen_rtx_REG (QImode, R2_REGNO)));
           RTX_FRAME_RELATED_P (insn) = 1;
        }
       else
index 99ca228c65c0a3696c232cccd750083aacb38027..bd9cc9648267c5b1be33708484b0e5640a1ddb61 100644 (file)
   "nop")
 ; Default to misc type attr.
 
+(define_insn "return_indirect_internal"
+  [(return)
+   (use (match_operand:QI 0 "reg_operand" ""))]
+  "reload_completed"                           
+  "bu%#\\t%0"
+  [(set_attr "type" "jump")])
+
 (define_expand "prologue"
   [(const_int 1)]
   ""