Commit dabbc722 by Jan Hubicka Committed by Jan Hubicka

i386.md (UNSPECV_EH_RETURN): Kill.


	* i386.md (UNSPECV_EH_RETURN): Kill.
	(eh_return): Use jump_insn.
	(eh_return_si, eh_return_di): Change pattern to jump instruction.

From-SVN: r82295
parent b9d861bc
2004-05-27 Jan Hubicka <jh@suse.cz>
* i386.md (UNSPECV_EH_RETURN): Kill.
(eh_return): Use jump_insn.
(eh_return_si, eh_return_di): Change pattern to jump instruction.
2004-05-26 Jan Hubicka <jh@suse.cz>
* cfgcleanup.c (try_forward_edges): Do not check loop structure when
......
......@@ -137,11 +137,12 @@
; REP instruction
(UNSPEC_REP 75)
(UNSPEC_EH_RETURN 76)
])
(define_constants
[(UNSPECV_BLOCKAGE 0)
(UNSPECV_EH_RETURN 13)
(UNSPECV_EMMS 31)
(UNSPECV_LDMXCSR 37)
(UNSPECV_STMXCSR 40)
......@@ -13880,6 +13881,7 @@
""
{
rtx tmp, sa = EH_RETURN_STACKADJ_RTX, ra = operands[0];
rtx jmp;
/* Tricky bit: we write the address of the handler to which we will
be returning into someone else's stack frame, one word below the
......@@ -13890,16 +13892,19 @@
emit_move_insn (tmp, ra);
if (Pmode == SImode)
emit_insn (gen_eh_return_si (sa));
jmp = emit_jump_insn (gen_eh_return_si (sa));
else
emit_insn (gen_eh_return_di (sa));
jmp = emit_jump_insn (gen_eh_return_di (sa));
REG_NOTES (jmp) = alloc_EXPR_LIST (REG_NON_LOCAL_GOTO, const0_rtx,
REG_NOTES (jmp));
emit_barrier ();
DONE;
})
(define_insn_and_split "eh_return_si"
[(unspec_volatile [(match_operand:SI 0 "register_operand" "c")]
UNSPECV_EH_RETURN)]
[(set (pc)
(unspec [(match_operand:SI 0 "register_operand" "c")]
UNSPEC_EH_RETURN))]
"!TARGET_64BIT"
"#"
"reload_completed"
......@@ -13907,8 +13912,9 @@
"ix86_expand_epilogue (2); DONE;")
(define_insn_and_split "eh_return_di"
[(unspec_volatile [(match_operand:DI 0 "register_operand" "c")]
UNSPECV_EH_RETURN)]
[(set (pc)
(unspec [(match_operand:DI 0 "register_operand" "c")]
UNSPEC_EH_RETURN))]
"TARGET_64BIT"
"#"
"reload_completed"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment