i386.md (return_indirect_internal): New.

* i386.md (return_indirect_internal): New.
        * i386.c (ix86_expand_epilogue): Use it.

From-SVN: r35471
This commit is contained in:
Richard Henderson 2000-08-03 21:14:52 -07:00 committed by Richard Henderson
parent ba89d661ac
commit 1183777788
3 changed files with 14 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2000-08-03 Richard Henderson <rth@cygnus.com>
* config/i386/i386.md (return_indirect_internal): New.
* config/i386/i386.c (ix86_expand_epilogue): Use it.
2000-08-03 Zack Weinberg <zack@wolery.cumb.org>
* cpplex.c (parse_name): Might have to glue a CPP_OTHER token

View file

@ -2138,7 +2138,7 @@ ix86_expand_epilogue (emit_return)
emit_insn (gen_popsi1 (ecx));
emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, popc));
emit_indirect_jump (ecx);
emit_jump_insn (gen_return_indirect_internal (ecx));
}
else
emit_jump_insn (gen_return_pop_internal (popc));

View file

@ -8681,6 +8681,14 @@
(set_attr "length_immediate" "2")
(set_attr "modrm" "0")])
(define_insn "return_indirect_internal"
[(return)
(use (match_operand:SI 0 "register_operand" "r"))]
"reload_completed"
"jmp\\t%*%0"
[(set_attr "type" "ibr")
(set_attr "length_immediate" "0")])
(define_insn "nop"
[(const_int 0)]
""