aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1995-02-08 20:09:08 +0000
committerDoug Evans <dje@gnu.org>1995-02-08 20:09:08 +0000
commitd9d0de410b61d12b4be2d04d5da9466c40f638b1 (patch)
tree612cf1ea7beff66c97c7a5e46a76d72ec907a041
parentcd5fb1eea736456e34ad9ac4da23f4b5f7cc8637 (diff)
downloadgcc-d9d0de410b61d12b4be2d04d5da9466c40f638b1.zip
gcc-d9d0de410b61d12b4be2d04d5da9466c40f638b1.tar.gz
gcc-d9d0de410b61d12b4be2d04d5da9466c40f638b1.tar.bz2
(nonlocal_goto): Use Pmode instead of SImode.
From-SVN: r8896
-rw-r--r--gcc/config/sparc/sparc.md8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 31f034f..2f82d63 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -5146,7 +5146,7 @@
"jmp %a0%#"
[(set_attr "type" "uncond_branch")])
-;; ??? This doesn't handle v9 yet. It also doesn't work with -mflat.
+;; ??? Doesn't work with -mflat.
(define_expand "nonlocal_goto"
[(match_operand:SI 0 "general_operand" "")
(match_operand:SI 1 "general_operand" "")
@@ -5163,11 +5163,11 @@
register. Thus we must copy operands[0] into a register if it isn't
already one. */
if (GET_CODE (operands[0]) != REG)
- operands[0] = force_reg (SImode, operands[0]);
+ operands[0] = force_reg (Pmode, operands[0]);
emit_move_insn (virtual_stack_vars_rtx, operands[0]);
/* Find the containing function's current nonlocal goto handler,
which will do any cleanups and then jump to the label. */
- emit_move_insn (gen_rtx (REG, SImode, 8), operands[1]);
+ emit_move_insn (gen_rtx (REG, Pmode, 8), operands[1]);
/* Restore %fp from stack pointer value for containing function.
The restore insn that follows will move this to %sp,
and reload the appropriate value into %fp. */
@@ -5179,7 +5179,7 @@
emit_insn (gen_rtx (USE, VOIDmode, frame_pointer_rtx));
emit_insn (gen_rtx (USE, VOIDmode, stack_pointer_rtx));
emit_insn (gen_rtx (USE, VOIDmode, static_chain_rtx));
- emit_insn (gen_rtx (USE, VOIDmode, gen_rtx (REG, SImode, 8)));
+ emit_insn (gen_rtx (USE, VOIDmode, gen_rtx (REG, Pmode, 8)));
/* Return, restoring reg window and jumping to goto handler. */
emit_insn (gen_goto_handler_and_restore ());
DONE;