use .set noreorder for better gas code.
authorRalph Campbell <ralph@ucbvax.Berkeley.EDU>
Sat, 27 Feb 1993 11:06:42 +0000 (03:06 -0800)
committerRalph Campbell <ralph@ucbvax.Berkeley.EDU>
Sat, 27 Feb 1993 11:06:42 +0000 (03:06 -0800)
SCCS-vsn: lib/libc/mips/gen/_setjmp.s 5.6

usr/src/lib/libc/mips/gen/_setjmp.s

index b8d48d7..d61676c 100644 (file)
@@ -12,7 +12,7 @@
 #include <machine/machAsmDefs.h>
 
 #if defined(LIBC_SCCS) && !defined(lint)
 #include <machine/machAsmDefs.h>
 
 #if defined(LIBC_SCCS) && !defined(lint)
-       ASMSTR("@(#)_setjmp.s   5.5 (Berkeley) %G%")
+       ASMSTR("@(#)_setjmp.s   5.6 (Berkeley) %G%")
 #endif /* LIBC_SCCS and not lint */
 
 /*
 #endif /* LIBC_SCCS and not lint */
 
 /*
@@ -26,6 +26,8 @@
  * The previous signal state is NOT restored.
  */
 
  * The previous signal state is NOT restored.
  */
 
+       .set    noreorder
+
 LEAF(_setjmp)
        li      v0, 0xACEDBADE                  # sigcontext magic number
        sw      ra, (2 * 4)(a0)                 # sc_pc = return address
 LEAF(_setjmp)
        li      v0, 0xACEDBADE                  # sigcontext magic number
        sw      ra, (2 * 4)(a0)                 # sc_pc = return address
@@ -54,14 +56,14 @@ LEAF(_setjmp)
        swc1    $f30, ((30 + 38) * 4)(a0)
        swc1    $f31, ((31 + 38) * 4)(a0)
        sw      v0, ((32 + 38) * 4)(a0)
        swc1    $f30, ((30 + 38) * 4)(a0)
        swc1    $f31, ((31 + 38) * 4)(a0)
        sw      v0, ((32 + 38) * 4)(a0)
-       move    v0, zero
        j       ra
        j       ra
+       move    v0, zero
 END(_setjmp)
 
 LEAF(_longjmp)
        lw      v0, (3 * 4)(a0)                 # get magic number
 END(_setjmp)
 
 LEAF(_longjmp)
        lw      v0, (3 * 4)(a0)                 # get magic number
-       bne     v0, 0xACEDBADE, botch           # jump if error
        lw      ra, (2 * 4)(a0)
        lw      ra, (2 * 4)(a0)
+       bne     v0, 0xACEDBADE, botch           # jump if error
        lw      s0, ((S0 + 3) * 4)(a0)
        lw      s1, ((S1 + 3) * 4)(a0)
        lw      s2, ((S2 + 3) * 4)(a0)
        lw      s0, ((S0 + 3) * 4)(a0)
        lw      s1, ((S1 + 3) * 4)(a0)
        lw      s2, ((S2 + 3) * 4)(a0)
@@ -86,9 +88,11 @@ LEAF(_longjmp)
        lwc1    $f29, ((29 + 38) * 4)(a0)
        lwc1    $f30, ((30 + 38) * 4)(a0)
        lwc1    $f31, ((31 + 38) * 4)(a0)
        lwc1    $f29, ((29 + 38) * 4)(a0)
        lwc1    $f30, ((30 + 38) * 4)(a0)
        lwc1    $f31, ((31 + 38) * 4)(a0)
-       move    v0, a1
        j       ra
        j       ra
+       move    v0, a1
 botch:
        jal     longjmperror
 botch:
        jal     longjmperror
+       nop
        jal     abort
        jal     abort
+       nop
 END(_longjmp)
 END(_longjmp)