summaryrefslogtreecommitdiff
path: root/gcc/config/sparc/sparc.md
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-05 22:06:09 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-05 22:06:09 +0000
commit80c07a0c805eb1909e7e38dc41356d6805b22df7 (patch)
tree096ea01a15569ecc0f0c3efe5591ac20dfacff61 /gcc/config/sparc/sparc.md
parent92966f8bd0eb74560dc4fcb3db6fb4e208c48f58 (diff)
downloadgcc-80c07a0c805eb1909e7e38dc41356d6805b22df7.tar.gz
* config/sparc/sparc.md (nonlocal_goto): Remove disabled code.
(goto_handler_and_restore_v9): Delete disabled insn. (goto_handler_and_restore_v9_sp64): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84135 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sparc/sparc.md')
-rw-r--r--gcc/config/sparc/sparc.md46
1 files changed, 2 insertions, 44 deletions
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 7f6c3fbead0..622f7879cbc 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -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