diff options
author | Doug Evans <dje@gnu.org> | 1995-02-08 20:09:08 +0000 |
---|---|---|
committer | Doug Evans <dje@gnu.org> | 1995-02-08 20:09:08 +0000 |
commit | d9d0de410b61d12b4be2d04d5da9466c40f638b1 (patch) | |
tree | 612cf1ea7beff66c97c7a5e46a76d72ec907a041 | |
parent | cd5fb1eea736456e34ad9ac4da23f4b5f7cc8637 (diff) | |
download | gcc-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.md | 8 |
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; |