xref: /minix3/lib/libm/arch/i387/lrint.S (revision 2fe8fb192fe7e8720e3e7a77f928da545e872a6a)
1*2fe8fb19SBen Gras/* $NetBSD: lrint.S,v 1.2 2004/10/13 15:18:32 drochner Exp $ */
2*2fe8fb19SBen Gras
3*2fe8fb19SBen Gras/*
4*2fe8fb19SBen Gras * Written by Matthias Drochner <drochner@NetBSD.org>.
5*2fe8fb19SBen Gras * Public domain.
6*2fe8fb19SBen Gras */
7*2fe8fb19SBen Gras
8*2fe8fb19SBen Gras#include <machine/asm.h>
9*2fe8fb19SBen Gras
10*2fe8fb19SBen GrasENTRY(lrint)
11*2fe8fb19SBen Gras#ifdef __i386__
12*2fe8fb19SBen Gras	pushl   %ebp
13*2fe8fb19SBen Gras	movl    %esp,%ebp
14*2fe8fb19SBen Gras	subl    $4,%esp
15*2fe8fb19SBen Gras	fldl	8(%ebp)
16*2fe8fb19SBen Gras	fistpl	(%esp)
17*2fe8fb19SBen Gras	movl	(%esp),%eax
18*2fe8fb19SBen Gras	leave
19*2fe8fb19SBen Gras	ret
20*2fe8fb19SBen Gras#else
21*2fe8fb19SBen Gras	cvtsd2siq %xmm0,%rax
22*2fe8fb19SBen Gras	ret
23*2fe8fb19SBen Gras#endif
24