34 lines
452 B
ArmAsm
34 lines
452 B
ArmAsm
.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
|