Remove building with NOCRYPTO option
[minix3.git] / lib / libm / arch / i387 / s_scalbn.S
blobcbbb5d95fade07d5e1b554b1ca54104399bc24d1
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.14 2013/05/20 19:40:09 joerg Exp $")
10 #ifdef WEAK_ALIAS
11 WEAK_ALIAS(scalbn,_scalbn)
12 WEAK_ALIAS(scalbln,_scalbln)
13 WEAK_ALIAS(ldexp,_scalbn)
14 #endif
15 #ifdef __x86_64__
16 ENTRY(_scalbn)
17         movl %edi,-12(%rsp)
18         fildl -12(%rsp)
19         movsd %xmm0,-8(%rsp)
20         fldl -8(%rsp)
21         fscale
22         fstpl -8(%rsp)
23         movsd -8(%rsp),%xmm0
24         fstp %st(0)
25         ret
26 #elif defined(STRONG_ALIAS)
27 STRONG_ALIAS(_scalbn, scalbln)
28 #endif
30 ENTRY(_scalbln)
31 #ifdef __x86_64__
32         movq %rdi,-16(%rsp)
33         fildq -16(%rsp)
34         movsd %xmm0,-8(%rsp)
35         fldl -8(%rsp)
36         fscale
37         fstpl -8(%rsp)
38         movsd -8(%rsp),%xmm0
39         fstp %st(0)
40 #else
41         fildl 12(%esp)
42         fldl 4(%esp)
43         fscale
44         fstp %st(1)             /* clean up stack */
45 #endif
46         ret