mirror of
git://git.musl-libc.org/musl
synced 2025-02-16 02:46:53 +00:00
Merge branch 'master' of git://git.etalabs.net/musl
This commit is contained in:
commit
03c52e137a
@ -2,40 +2,49 @@
|
||||
.type remquof,@function
|
||||
remquof:
|
||||
mov 12(%esp),%ecx
|
||||
fldl 4(%esp)
|
||||
fldl 8(%esp)
|
||||
fldl 4(%esp)
|
||||
mov 11(%esp),%dh
|
||||
xor 7(%esp),%dh
|
||||
jmp 1f
|
||||
|
||||
.global remquol
|
||||
.type remquol,@function
|
||||
remquol:
|
||||
mov 28(%esp),%ecx
|
||||
fldl 4(%esp)
|
||||
fldl 16(%esp)
|
||||
fldl 4(%esp)
|
||||
mov 25(%esp),%dh
|
||||
xor 13(%esp),%dh
|
||||
jmp 1f
|
||||
|
||||
.global remquo
|
||||
.type remquo,@function
|
||||
remquo:
|
||||
mov 20(%esp),%ecx
|
||||
fldl 4(%esp)
|
||||
fldl 12(%esp)
|
||||
1: fld %st(1)
|
||||
fldl 4(%esp)
|
||||
mov 19(%esp),%dh
|
||||
xor 11(%esp),%dh
|
||||
1: fprem1
|
||||
fnstsw %ax
|
||||
sahf
|
||||
jp 1b
|
||||
fsubr %st(0),%st(2)
|
||||
fxch %st(2)
|
||||
fdivp
|
||||
mov $0x4f000000,%eax
|
||||
mov %eax,4(%esp)
|
||||
flds 4(%esp)
|
||||
fxch %st(1)
|
||||
1: fprem
|
||||
fnstsw %ax
|
||||
sahf
|
||||
jp 1b
|
||||
fistpl (%ecx)
|
||||
fstp %st(0)
|
||||
fstp %st(1)
|
||||
mov %ah,%dl
|
||||
shr %dl
|
||||
and $1,%dl
|
||||
mov %ah,%al
|
||||
shr $5,%al
|
||||
and $2,%al
|
||||
or %al,%dl
|
||||
mov %ah,%al
|
||||
shl $2,%al
|
||||
and $4,%al
|
||||
or %al,%dl
|
||||
test %dh,%dh
|
||||
jns 1f
|
||||
neg %dl
|
||||
1: movsbl %dl,%edx
|
||||
mov %edx,(%ecx)
|
||||
ret
|
||||
|
@ -11,10 +11,23 @@ scalbln:
|
||||
.global scalbn
|
||||
.type scalbn,@function
|
||||
scalbn:
|
||||
fildl 12(%esp)
|
||||
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)
|
||||
fscale
|
||||
fstp %st(1)
|
||||
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
|
||||
|
@ -11,10 +11,22 @@ scalblnf:
|
||||
.global scalbnf
|
||||
.type scalbnf,@function
|
||||
scalbnf:
|
||||
fildl 8(%esp)
|
||||
mov 8(%esp),%eax
|
||||
add $0x3fe,%eax
|
||||
cmp $0x7fd,%eax
|
||||
jb 1f
|
||||
sub $0x3fe,%eax
|
||||
sar $31,%eax
|
||||
xor $0x1ff,%eax
|
||||
add $0x3fe,%eax
|
||||
1: inc %eax
|
||||
shl $20,%eax
|
||||
flds 4(%esp)
|
||||
fscale
|
||||
fstp %st(1)
|
||||
mov %eax,8(%esp)
|
||||
xor %eax,%eax
|
||||
mov %eax,4(%esp)
|
||||
fldl 4(%esp)
|
||||
fmulp
|
||||
fstps 4(%esp)
|
||||
flds 4(%esp)
|
||||
ret
|
||||
|
@ -11,7 +11,21 @@ scalblnl:
|
||||
.global scalbnl
|
||||
.type scalbnl,@function
|
||||
scalbnl:
|
||||
fildl 16(%esp)
|
||||
mov 16(%esp),%eax
|
||||
add $0x3ffe,%eax
|
||||
cmp $0x7ffd,%eax
|
||||
jae 1f
|
||||
inc %eax
|
||||
fldt 4(%esp)
|
||||
mov %eax,12(%esp)
|
||||
mov $0x80000000,%eax
|
||||
mov %eax,8(%esp)
|
||||
xor %eax,%eax
|
||||
mov %eax,4(%esp)
|
||||
fldt 4(%esp)
|
||||
fmulp
|
||||
ret
|
||||
1: fildl 16(%esp)
|
||||
fldt 4(%esp)
|
||||
fscale
|
||||
fstp %st(1)
|
||||
|
Loading…
Reference in New Issue
Block a user