projects
/
musl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
141c8d4
)
fix excess precision in return value of i386 log-family functions
author
Rich Felker
<dalias@aerifal.cx>
Thu, 6 Feb 2020 18:29:45 +0000
(13:29 -0500)
committer
Rich Felker
<dalias@aerifal.cx>
Thu, 6 Feb 2020 18:29:45 +0000
(13:29 -0500)
src/math/i386/log.s
patch
|
blob
|
history
src/math/i386/log10.s
patch
|
blob
|
history
src/math/i386/log10f.s
patch
|
blob
|
history
src/math/i386/log1p.s
patch
|
blob
|
history
src/math/i386/log1pf.s
patch
|
blob
|
history
src/math/i386/log2.s
patch
|
blob
|
history
src/math/i386/log2f.s
patch
|
blob
|
history
src/math/i386/logf.s
patch
|
blob
|
history
diff --git
a/src/math/i386/log.s
b/src/math/i386/log.s
index
fcccf03
..
08c5992
100644
(file)
--- a/
src/math/i386/log.s
+++ b/
src/math/i386/log.s
@@
-4,4
+4,6
@@
log:
fldln2
fldl 4(%esp)
fyl2x
fldln2
fldl 4(%esp)
fyl2x
+ fstpl 4(%esp)
+ fldl 4(%esp)
ret
ret
diff --git
a/src/math/i386/log10.s
b/src/math/i386/log10.s
index
28eb5b2
..
120e91e
100644
(file)
--- a/
src/math/i386/log10.s
+++ b/
src/math/i386/log10.s
@@
-4,4
+4,6
@@
log10:
fldlg2
fldl 4(%esp)
fyl2x
fldlg2
fldl 4(%esp)
fyl2x
+ fstpl 4(%esp)
+ fldl 4(%esp)
ret
ret
diff --git
a/src/math/i386/log10f.s
b/src/math/i386/log10f.s
index
c0c0c67
..
b055493
100644
(file)
--- a/
src/math/i386/log10f.s
+++ b/
src/math/i386/log10f.s
@@
-4,4
+4,6
@@
log10f:
fldlg2
flds 4(%esp)
fyl2x
fldlg2
flds 4(%esp)
fyl2x
+ fstps 4(%esp)
+ flds 4(%esp)
ret
ret
diff --git
a/src/math/i386/log1p.s
b/src/math/i386/log1p.s
index
354f391
..
f3c95f8
100644
(file)
--- a/
src/math/i386/log1p.s
+++ b/
src/math/i386/log1p.s
@@
-10,10
+10,14
@@
log1p:
cmp $0x00100000,%eax
jb 2f
fyl2xp1
cmp $0x00100000,%eax
jb 2f
fyl2xp1
+ fstpl 4(%esp)
+ fldl 4(%esp)
ret
1: fld1
faddp
fyl2x
ret
1: fld1
faddp
fyl2x
+ fstpl 4(%esp)
+ fldl 4(%esp)
ret
# subnormal x, return x with underflow
2: fsts 4(%esp)
ret
# subnormal x, return x with underflow
2: fsts 4(%esp)
diff --git
a/src/math/i386/log1pf.s
b/src/math/i386/log1pf.s
index
4d3484c
..
9f13d95
100644
(file)
--- a/
src/math/i386/log1pf.s
+++ b/
src/math/i386/log1pf.s
@@
-10,10
+10,14
@@
log1pf:
cmp $0x00800000,%eax
jb 2f
fyl2xp1
cmp $0x00800000,%eax
jb 2f
fyl2xp1
+ fstps 4(%esp)
+ flds 4(%esp)
ret
1: fld1
faddp
fyl2x
ret
1: fld1
faddp
fyl2x
+ fstps 4(%esp)
+ flds 4(%esp)
ret
# subnormal x, return x with underflow
2: fxch
ret
# subnormal x, return x with underflow
2: fxch
diff --git
a/src/math/i386/log2.s
b/src/math/i386/log2.s
index
1508803
..
7eff0b6
100644
(file)
--- a/
src/math/i386/log2.s
+++ b/
src/math/i386/log2.s
@@
-4,4
+4,6
@@
log2:
fld1
fldl 4(%esp)
fyl2x
fld1
fldl 4(%esp)
fyl2x
+ fstpl 4(%esp)
+ fldl 4(%esp)
ret
ret
diff --git
a/src/math/i386/log2f.s
b/src/math/i386/log2f.s
index
00cdce7
..
b32fa2f
100644
(file)
--- a/
src/math/i386/log2f.s
+++ b/
src/math/i386/log2f.s
@@
-4,4
+4,6
@@
log2f:
fld1
flds 4(%esp)
fyl2x
fld1
flds 4(%esp)
fyl2x
+ fstps 4(%esp)
+ flds 4(%esp)
ret
ret
diff --git
a/src/math/i386/logf.s
b/src/math/i386/logf.s
index
da7ff3a
..
4d0346a
100644
(file)
--- a/
src/math/i386/logf.s
+++ b/
src/math/i386/logf.s
@@
-4,4
+4,6
@@
logf:
fldln2
flds 4(%esp)
fyl2x
fldln2
flds 4(%esp)
fyl2x
+ fstps 4(%esp)
+ flds 4(%esp)
ret
ret