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