// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

#include "textflag.h"

// Called by C code generated by cmd/cgo.
// func crosscall2(fn func(a unsafe.Pointer, n int32, ctxt uintptr), a unsafe.Pointer, n int32, ctxt uintptr)
// Saves C callee-saved registers and calls fn with three arguments.
TEXT crosscall2(SB),NOSPLIT,$0
	PUSHL	BP
	MOVL	SP, BP
	PUSHL	BX
	PUSHL	SI
	PUSHL	DI
	
	SUBL	$12, SP
	MOVL	20(BP), AX
	MOVL	AX, 8(SP)
	MOVL	16(BP), AX
	MOVL	AX, 4(SP)
	MOVL	12(BP), AX
	MOVL	AX, 0(SP)
	MOVL	8(BP), AX
	CALL	AX
	ADDL	$12, SP
	
	POPL	DI
	POPL	SI
	POPL	BX
	POPL	BP
	RET
