| .global ldexp | |
| .type ldexp,@function | |
| ldexp: | |
| nop | |
| .global scalbln | |
| .type scalbln,@function | |
| scalbln: | |
| nop | |
| .global scalbn | |
| .type scalbn,@function | |
| scalbn: | |
| mov 12(%esp),%eax | |
| add $0x3ffe,%eax | |
| cmp $0x7ffd,%eax | |
| jb 1f | |
| sub $0x3ffe,%eax | |
| sar $31,%eax | |
| xor $0xfff,%eax | |
| add $0x3ffe,%eax | |
| 1: inc %eax | |
| fldl 4(%esp) | |
| mov %eax,12(%esp) | |
| mov $0x80000000,%eax | |
| mov %eax,8(%esp) | |
| xor %eax,%eax | |
| mov %eax,4(%esp) | |
| fldt 4(%esp) | |
| fmulp | |
| fstpl 4(%esp) | |
| fldl 4(%esp) | |
| ret |