Merge branch 'vendor/BINUTILS221'
[dragonfly.git] / lib / libm / arch / i386 / s_ilogb.S
1 /*
2  * Written by J.T. Conklin <jtc@NetBSD.org>.
3  * Public domain.
4  *
5  * $NetBSD: s_ilogb.S,v 1.7 2003/07/26 19:25:02 salo Exp $
6  * $DragonFly: src/lib/libm/arch/i386/s_ilogb.S,v 1.1 2005/07/26 21:15:19 joerg Exp $
7  */
8
9 #include <machine/asm.h>
10
11 ENTRY(ilogb)
12 #ifdef __i386__
13         pushl   %ebp
14         movl    %esp,%ebp
15         subl    $4,%esp
16
17         fldl    8(%ebp)
18         fxtract
19         fstp    %st
20
21         fistpl  -4(%ebp)
22         movl    -4(%ebp),%eax
23
24         leave
25 #else
26         movsd   %xmm0,-8(%rsp)
27         fldl    -8(%rsp)
28         fxtract
29         fstp    %st
30         fistpl  -8(%rsp)
31         movl    -8(%rsp),%eax
32 #endif
33         ret