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