sparc.md (nonlocal_goto): Remove disabled code.

* config/sparc/sparc.md (nonlocal_goto): Remove disabled code.
	(goto_handler_and_restore_v9): Delete disabled insn.
	(goto_handler_and_restore_v9_sp64): Likewise.

From-SVN: r84135
This commit is contained in:
Eric Botcazou 2004-07-06 00:06:09 +02:00 committed by Eric Botcazou
parent 09b5267035
commit 6109c659f9
2 changed files with 8 additions and 44 deletions

View File

@ -1,3 +1,9 @@
2004-07-05 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc.md (nonlocal_goto): Remove disabled code.
(goto_handler_and_restore_v9): Delete disabled insn.
(goto_handler_and_restore_v9_sp64): Likewise.
2004-07-05 Roger Sayle <roger@eyesopen.com>
* calls.c (load_register_parameters): Call expand_shift instead

View File

@ -7778,9 +7778,6 @@
(match_operand:SI 3 "" "")]
""
{
#if 0
rtx chain = operands[0];
#endif
rtx lab = operands[1];
rtx stack = operands[2];
rtx fp = operands[3];
@ -7806,27 +7803,10 @@
and reload the appropriate value into %fp. */
emit_move_insn (hard_frame_pointer_rtx, stack);
/* USE of frame_pointer_rtx added for consistency; not clear if
really needed. */
/*emit_insn (gen_rtx_USE (VOIDmode, frame_pointer_rtx));*/
emit_insn (gen_rtx_USE (VOIDmode, stack_pointer_rtx));
#if 0
/* Return, restoring reg window and jumping to goto handler. */
if (TARGET_V9 && GET_CODE (chain) == CONST_INT
&& ! (INTVAL (chain) & ~(HOST_WIDE_INT)0xffffffff))
{
emit_jump_insn (gen_goto_handler_and_restore_v9 (labreg,
static_chain_rtx,
chain));
emit_barrier ();
DONE;
}
/* Put in the static chain register the nonlocal label address. */
emit_move_insn (static_chain_rtx, chain);
#endif
emit_insn (gen_rtx_USE (VOIDmode, static_chain_rtx));
/* ??? The V9-specific version was disabled in rev 1.65. */
emit_jump_insn (gen_goto_handler_and_restore (labreg));
emit_barrier ();
DONE;
@ -7846,28 +7826,6 @@
[(set_attr "type" "multi")
(set_attr "length" "2")])
;;(define_insn "goto_handler_and_restore_v9"
;; [(unspec_volatile [(match_operand:SI 0 "register_operand" "=r,r")
;; (match_operand:SI 1 "register_operand" "=r,r")
;; (match_operand:SI 2 "const_int_operand" "I,n")] UNSPECV_GOTO_V9)]
;; "TARGET_V9 && ! TARGET_ARCH64"
;; "@
;; return\t%0+0\n\tmov\t%2, %Y1
;; sethi\t%%hi(%2), %1\n\treturn\t%0+0\n\tor\t%Y1, %%lo(%2), %Y1"
;; [(set_attr "type" "multi")
;; (set_attr "length" "2,3")])
;;
;;(define_insn "*goto_handler_and_restore_v9_sp64"
;; [(unspec_volatile [(match_operand:DI 0 "register_operand" "=r,r")
;; (match_operand:DI 1 "register_operand" "=r,r")
;; (match_operand:SI 2 "const_int_operand" "I,n")] UNSPECV_GOTO_V9)]
;; "TARGET_V9 && TARGET_ARCH64"
;; "@
;; return\t%0+0\n\tmov\t%2, %Y1
;; sethi\t%%hi(%2), %1\n\treturn\t%0+0\n\tor\t%Y1, %%lo(%2), %Y1"
;; [(set_attr "type" "multi")
;; (set_attr "length" "2,3")])
;; For __builtin_setjmp we need to flush register windows iff the function
;; calls alloca as well, because otherwise the register window might be
;; saved after %sp adjustment and thus setjmp would crash