diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1993-03-02 13:08:43 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1993-03-02 13:08:43 -0800 |
commit | 4893584c6cca1f77531b40bca12b0a5c46281e95 (patch) | |
tree | fc4b0b530bb9240bd63eae5fd37a4648fd7e5094 | |
parent | 51ec2375642c91567b231ddb9e06f61e33734a89 (diff) | |
download | gcc-4893584c6cca1f77531b40bca12b0a5c46281e95.zip gcc-4893584c6cca1f77531b40bca12b0a5c46281e95.tar.gz gcc-4893584c6cca1f77531b40bca12b0a5c46281e95.tar.bz2 |
(flush_register_windows, goto_handler_and_restore):
Give names to these patterns so they are easier to use.
From-SVN: r3607
-rw-r--r-- | gcc/config/sparc/sparc.md | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 88cadbf..5f8afeb 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -2756,8 +2756,7 @@ " { /* Trap instruction to flush all the registers window. */ - emit_insn (gen_rtx (UNSPEC_VOLATILE, VOIDmode, - gen_rtvec (1, const0_rtx), 0)); + emit_insn (gen_flush_register_windows ()); /* Load the fp value for the containing fn into %fp. This is needed because operands[2] refers to %fp. Virtual register instantiation fails if the virtual %fp isn't set from a @@ -2782,19 +2781,18 @@ emit_insn (gen_rtx (USE, VOIDmode, static_chain_rtx)); emit_insn (gen_rtx (USE, VOIDmode, gen_rtx (REG, SImode, 8))); /* Return, restoring reg window and jumping to goto handler. */ - emit_insn (gen_rtx (UNSPEC_VOLATILE, VOIDmode, - gen_rtvec (1, const0_rtx), 1)); + emit_insn (gen_goto_handler_and_restore ()); DONE; }") ;; Special trap insn to flush register windows. -(define_insn "" +(define_insn "flush_register_windows" [(unspec_volatile [(const_int 0)] 0)] "" "ta 3" [(set_attr "type" "misc")]) -(define_insn "" +(define_insn "goto_handler_and_restore" [(unspec_volatile [(const_int 0)] 1)] "" "jmp %%o0+0\;restore" |