1*f504f610SAugustin Cavalier.global ldexp 2*f504f610SAugustin Cavalier.type ldexp,@function 3*f504f610SAugustin Cavalierldexp: 4*f504f610SAugustin Cavalier nop 5*f504f610SAugustin Cavalier 6*f504f610SAugustin Cavalier.global scalbln 7*f504f610SAugustin Cavalier.type scalbln,@function 8*f504f610SAugustin Cavalierscalbln: 9*f504f610SAugustin Cavalier nop 10*f504f610SAugustin Cavalier 11*f504f610SAugustin Cavalier.global scalbn 12*f504f610SAugustin Cavalier.type scalbn,@function 13*f504f610SAugustin Cavalierscalbn: 14*f504f610SAugustin Cavalier mov 12(%esp),%eax 15*f504f610SAugustin Cavalier add $0x3ffe,%eax 16*f504f610SAugustin Cavalier cmp $0x7ffd,%eax 17*f504f610SAugustin Cavalier jb 1f 18*f504f610SAugustin Cavalier sub $0x3ffe,%eax 19*f504f610SAugustin Cavalier sar $31,%eax 20*f504f610SAugustin Cavalier xor $0xfff,%eax 21*f504f610SAugustin Cavalier add $0x3ffe,%eax 22*f504f610SAugustin Cavalier1: inc %eax 23*f504f610SAugustin Cavalier fldl 4(%esp) 24*f504f610SAugustin Cavalier mov %eax,12(%esp) 25*f504f610SAugustin Cavalier mov $0x80000000,%eax 26*f504f610SAugustin Cavalier mov %eax,8(%esp) 27*f504f610SAugustin Cavalier xor %eax,%eax 28*f504f610SAugustin Cavalier mov %eax,4(%esp) 29*f504f610SAugustin Cavalier fldt 4(%esp) 30*f504f610SAugustin Cavalier fmulp 31*f504f610SAugustin Cavalier fstpl 4(%esp) 32*f504f610SAugustin Cavalier fldl 4(%esp) 33*f504f610SAugustin Cavalier ret 34