#include <sys/regdef.h>
#include <sys/asm.h>

# define call_push(x)     move    $4,x;    jal     GC_push_one

    .option pic2
    .text
/* Mark from machine registers that are saved by C compiler */
#   define FRAMESZ 32
#   define RAOFF FRAMESZ-SZREG
#   define GPOFF FRAMESZ-(2*SZREG)
    NESTED(GC_push_regs, FRAMESZ, ra)
    .mask 0x80000000,-SZREG	# inform debugger of saved ra loc
    move 	t0,gp
    SETUP_GPX(t8)
    PTR_SUBU	sp,FRAMESZ
#   ifdef SETUP_GP64
      SETUP_GP64(GPOFF, GC_push_regs)
#   endif
    SAVE_GP(GPOFF)
    REG_S 	ra,RAOFF(sp)
#   if (_MIPS_SIM == _MIPS_SIM_ABI32)
    	call_push($2)
    	call_push($3)
#   endif
    call_push($16)
    call_push($17)
    call_push($18)
    call_push($19)
    call_push($20)
    call_push($21)
    call_push($22)
    call_push($23)
    call_push($30)
    REG_L	ra,RAOFF(sp)
#   ifdef RESTORE_GP64
      RESTORE_GP64
#   endif
    PTR_ADDU	sp,FRAMESZ
    j		ra
    .end    GC_push_regs
