scalbn.s raw
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
34