Merge branch 'master' of git://git.etalabs.net/musl
[musl] / src / math / i386 / scalbn.s
1 .global ldexp
2 .type ldexp,@function
3 ldexp:
4         nop
5
6 .global scalbln
7 .type scalbln,@function
8 scalbln:
9         nop
10
11 .global scalbn
12 .type scalbn,@function
13 scalbn:
14         mov 12(%esp),%eax
15         add $0x3ffe,%eax
16         cmp $0x7ffd,%eax
17         jb 1f
18         sub $0x3ffe,%eax
19         sar $31,%eax
20         xor $0xfff,%eax
21         add $0x3ffe,%eax
22 1:      inc %eax
23         fldl 4(%esp)
24         mov %eax,12(%esp)
25         mov $0x80000000,%eax
26         mov %eax,8(%esp)
27         xor %eax,%eax
28         mov %eax,4(%esp)
29         fldt 4(%esp)
30         fmulp
31         fstpl 4(%esp)
32         fldl 4(%esp)
33         ret