From 4893584c6cca1f77531b40bca12b0a5c46281e95 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Tue, 2 Mar 1993 13:08:43 -0800 Subject: [PATCH] (flush_register_windows, goto_handler_and_restore): Give names to these patterns so they are easier to use. From-SVN: r3607 --- gcc/config/sparc/sparc.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 88cadbf9454a..5f8afeb5eb3d 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" -- 2.43.5