Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / lib / libm / arch / i387 / s_scalbn.S
blob13c248cad35b64acb423cefd2f0e45f29564ed33
1 /*
2  * Written by J.T. Conklin <jtc@NetBSD.org>.
3  * Public domain.
4  */
6 #include <machine/asm.h>
8 RCSID("$NetBSD: s_scalbn.S,v 1.7 2003/07/26 19:25:03 salo Exp $")
10 ENTRY(scalbn)
11 #ifdef __x86_64__
12         movl %edi,-12(%rsp)
13         fildl -12(%rsp)
14         movsd %xmm0,-8(%rsp)
15         fldl -8(%rsp)
16         fscale
17         fstpl -8(%rsp)
18         movsd -8(%rsp),%xmm0
19         fstp %st(0)
20 #else
21         fildl 12(%esp)
22         fldl 4(%esp)
23         fscale
24         fstp %st(1)             /* clean up stack */
25 #endif
26         ret