Commit 2e2052b1 by Jan Hubicka Committed by Jan Hubicka

Re-apply hopefully fixed patch:

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

From-SVN: r82624
parent 9cf84a3c
2004-06-04 Jan Hubicka <jh@suse.cz>
Re-apply hopefully fixed patch:
* i386.md (UNSPECV_EH_RETURN): Kill.
(eh_return): Use jump_insn.
(eh_return_si, eh_return_di): Change pattern to jump instruction.
2004-06-04 Jeff Law <law@redhat.com> 2004-06-04 Jeff Law <law@redhat.com>
* cfgrtl.c (try_redirect_by_replacing_jump): Fix return value. * cfgrtl.c (try_redirect_by_replacing_jump): Fix return value.
......
...@@ -137,11 +137,12 @@ ...@@ -137,11 +137,12 @@
; REP instruction ; REP instruction
(UNSPEC_REP 75) (UNSPEC_REP 75)
(UNSPEC_EH_RETURN 76)
]) ])
(define_constants (define_constants
[(UNSPECV_BLOCKAGE 0) [(UNSPECV_BLOCKAGE 0)
(UNSPECV_EH_RETURN 13)
(UNSPECV_EMMS 31) (UNSPECV_EMMS 31)
(UNSPECV_LDMXCSR 37) (UNSPECV_LDMXCSR 37)
(UNSPECV_STMXCSR 40) (UNSPECV_STMXCSR 40)
...@@ -13890,16 +13891,17 @@ ...@@ -13890,16 +13891,17 @@
emit_move_insn (tmp, ra); emit_move_insn (tmp, ra);
if (Pmode == SImode) if (Pmode == SImode)
emit_insn (gen_eh_return_si (sa)); emit_jump_insn (gen_eh_return_si (sa));
else else
emit_insn (gen_eh_return_di (sa)); emit_jump_insn (gen_eh_return_di (sa));
emit_barrier (); emit_barrier ();
DONE; DONE;
}) })
(define_insn_and_split "eh_return_si" (define_insn_and_split "eh_return_si"
[(unspec_volatile [(match_operand:SI 0 "register_operand" "c")] [(set (pc)
UNSPECV_EH_RETURN)] (unspec [(match_operand:SI 0 "register_operand" "c")]
UNSPEC_EH_RETURN))]
"!TARGET_64BIT" "!TARGET_64BIT"
"#" "#"
"reload_completed" "reload_completed"
...@@ -13907,8 +13909,9 @@ ...@@ -13907,8 +13909,9 @@
"ix86_expand_epilogue (2); DONE;") "ix86_expand_epilogue (2); DONE;")
(define_insn_and_split "eh_return_di" (define_insn_and_split "eh_return_di"
[(unspec_volatile [(match_operand:DI 0 "register_operand" "c")] [(set (pc)
UNSPECV_EH_RETURN)] (unspec [(match_operand:DI 0 "register_operand" "c")]
UNSPEC_EH_RETURN))]
"TARGET_64BIT" "TARGET_64BIT"
"#" "#"
"reload_completed" "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