mirror of
git://git.musl-libc.org/musl
synced 2025-04-01 22:48:38 +00:00
remove i386 asm for single and double precision exp-family functions
these did not truncate excess precision in the return value. fixing them looks like considerable work, and the current C code seems to outperform them significantly anyway. long double functions are left in place because they are not subject to excess precision issues and probably better than the C code.
This commit is contained in:
parent
2f0c31c027
commit
a662220df5
@ -1 +0,0 @@
|
||||
// see exp_ld.s
|
@ -1 +0,0 @@
|
||||
# see exp.s
|
@ -1 +0,0 @@
|
||||
# see exp.s
|
@ -1 +1 @@
|
||||
# see exp.s
|
||||
# see exp_ld.s
|
||||
|
@ -1,35 +1,8 @@
|
||||
.global expm1f
|
||||
.type expm1f,@function
|
||||
expm1f:
|
||||
flds 4(%esp)
|
||||
mov 4(%esp),%eax
|
||||
add %eax,%eax
|
||||
cmp $0x01000000,%eax
|
||||
jae 1f
|
||||
# subnormal x, return x with underflow
|
||||
fld %st(0)
|
||||
fmul %st(1)
|
||||
fstps 4(%esp)
|
||||
ret
|
||||
|
||||
.global expm1l
|
||||
.type expm1l,@function
|
||||
expm1l:
|
||||
fldt 4(%esp)
|
||||
jmp 1f
|
||||
|
||||
.global expm1
|
||||
.type expm1,@function
|
||||
expm1:
|
||||
fldl 4(%esp)
|
||||
mov 8(%esp),%eax
|
||||
add %eax,%eax
|
||||
cmp $0x00200000,%eax
|
||||
jae 1f
|
||||
# subnormal x, return x with underflow
|
||||
fsts 4(%esp)
|
||||
ret
|
||||
1: fldl2e
|
||||
fldl2e
|
||||
fmulp
|
||||
mov $0xc2820000,%eax
|
||||
push %eax
|
||||
@ -59,12 +32,6 @@ expm1:
|
||||
fsubrp
|
||||
ret
|
||||
|
||||
.global exp2f
|
||||
.type exp2f,@function
|
||||
exp2f:
|
||||
flds 4(%esp)
|
||||
jmp 1f
|
||||
|
||||
.global exp2l
|
||||
.global __exp2l
|
||||
.hidden __exp2l
|
||||
@ -72,26 +39,6 @@ exp2f:
|
||||
exp2l:
|
||||
__exp2l:
|
||||
fldt 4(%esp)
|
||||
jmp 1f
|
||||
|
||||
.global expf
|
||||
.type expf,@function
|
||||
expf:
|
||||
flds 4(%esp)
|
||||
jmp 2f
|
||||
|
||||
.global exp
|
||||
.type exp,@function
|
||||
exp:
|
||||
fldl 4(%esp)
|
||||
2: fldl2e
|
||||
fmulp
|
||||
jmp 1f
|
||||
|
||||
.global exp2
|
||||
.type exp2,@function
|
||||
exp2:
|
||||
fldl 4(%esp)
|
||||
1: sub $12,%esp
|
||||
fld %st(0)
|
||||
fstpt (%esp)
|
||||
|
@ -1 +0,0 @@
|
||||
# see exp.s
|
@ -1 +0,0 @@
|
||||
# see exp.s
|
@ -1 +0,0 @@
|
||||
# see exp.s
|
@ -1 +1 @@
|
||||
# see exp.s
|
||||
# see exp_ld.s
|
||||
|
Loading…
Reference in New Issue
Block a user