#include <sys/regdef.h>
#include <sys/asm.h>
/* This file must be preprocessed.  But the SGI assembler always does	*/
/* that.  Furthermore, a generic preprocessor won't do, since some of	*/
/* the SGI-supplied include files rely on behavior of the MIPS 		*/
/* assembler.  Hence we treat and name this file as though it required	*/
/* no preprocessing.							*/

# 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 == _ABIO32)
    	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
