optimize scalbn family
[musl] / src / math / i386 / scalbnl.s
1 .global ldexpl
2 .type ldexpl,@function
3 ldexpl:
4         nop
5
6 .global scalblnl
7 .type scalblnl,@function
8 scalblnl:
9         nop
10
11 .global scalbnl
12 .type scalbnl,@function
13 scalbnl:
14         mov 16(%esp),%eax
15         add $0x3ffe,%eax
16         cmp $0x7ffd,%eax
17         jae 1f
18         inc %eax
19         fldt 4(%esp)
20         mov %eax,12(%esp)
21         mov $0x80000000,%eax
22         mov %eax,8(%esp)
23         xor %eax,%eax
24         mov %eax,4(%esp)
25         fldt 4(%esp)
26         fmulp
27         ret
28 1:      fildl 16(%esp)
29         fldt 4(%esp)
30         fscale
31         fstp %st(1)
32         ret