Merge branch 'vendor/OPENSSL'
[dragonfly.git] / lib / libm / arch / i386 / s_scalbnf.S
1 /*
2  * Written by J.T. Conklin <jtc@NetBSD.org>.
3  * Public domain.
4  *
5  * $NetBSD: s_scalbnf.S,v 1.7 2006/03/21 11:35:21 drochner Exp $
6  * $DragonFly: src/lib/libm/arch/i386/s_scalbnf.S,v 1.2 2007/06/16 23:53:00 pavalos Exp $
7  */
8
9 #include <machine/asm.h>
10
11 ENTRY(scalbnf)
12 #ifdef __x86_64__
13         movl %edi,-8(%rsp)
14         fildl -8(%rsp)
15         movss %xmm0,-4(%rsp)
16         flds -4(%rsp)
17         fscale
18         fstps -4(%rsp)
19         movss -4(%rsp),%xmm0
20         fstp %st(0)
21 #else
22         fildl 8(%esp)
23         flds 4(%esp)
24         fscale
25         fstp %st(1)             /* clean up stack */
26 #endif
27         ret