Error with Sparc builtin setjmp

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Wed Jan 3 05:56:00 GMT 2001


A recent change pointed out that latent bug that the branch was not emitted
as a JUMP_INSN.

Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
	as JUMP_INSN.

*** sparc.md	2001/01/02 02:45:03	1.119
--- sparc.md	2001/01/03 13:51:57
***************
*** 8971,8976 ****
        && ! (INTVAL (chain) & ~(HOST_WIDE_INT)0xffffffff))
      {
!       emit_insn (gen_goto_handler_and_restore_v9 (labreg, static_chain_rtx,
! 						  chain));
        emit_barrier ();
        DONE;
--- 8971,8977 ----
        && ! (INTVAL (chain) & ~(HOST_WIDE_INT)0xffffffff))
      {
!       emit_jump_insn (gen_goto_handler_and_restore_v9 (labreg,
! 						       static_chain_rtx,
! 						       chain));
        emit_barrier ();
        DONE;
***************
*** 8981,8985 ****
  
    emit_insn (gen_rtx_USE (VOIDmode, static_chain_rtx));
!   emit_insn (gen_goto_handler_and_restore (labreg));
    emit_barrier ();
    DONE;
--- 8982,8986 ----
  
    emit_insn (gen_rtx_USE (VOIDmode, static_chain_rtx));
!   emit_jump_insn (gen_goto_handler_and_restore (labreg));
    emit_barrier ();
    DONE;


More information about the Gcc-patches mailing list