projects
/
oweals
/
musl.git
/ 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 fcccf0309cb475f55290211edd2249571431afac..08c59924b4afeb3713f59064645ca3daab7c8e6c 100644
(file)
--- a/
src/math/i386/log.s
+++ b/
src/math/i386/log.s
@@
-4,4
+4,6
@@
log:
fldln2
fldl 4(%esp)
fyl2x
+ fstpl 4(%esp)
+ fldl 4(%esp)
ret
diff --git
a/src/math/i386/log10.s
b/src/math/i386/log10.s
index 28eb5b2f913a03a3180d2bc1ef18e26e3c425a9d..120e91ece873690dd1a931dfd0d16d62551c1bc0 100644
(file)
--- a/
src/math/i386/log10.s
+++ b/
src/math/i386/log10.s
@@
-4,4
+4,6
@@
log10:
fldlg2
fldl 4(%esp)
fyl2x
+ fstpl 4(%esp)
+ fldl 4(%esp)
ret
diff --git
a/src/math/i386/log10f.s
b/src/math/i386/log10f.s
index c0c0c67ef1f12b32f502e36c2c02458f0129f2c3..b055493ad4325913808f513275218d449cc651c4 100644
(file)
--- a/
src/math/i386/log10f.s
+++ b/
src/math/i386/log10f.s
@@
-4,4
+4,6
@@
log10f:
fldlg2
flds 4(%esp)
fyl2x
+ fstps 4(%esp)
+ flds 4(%esp)
ret
diff --git
a/src/math/i386/log1p.s
b/src/math/i386/log1p.s
index 354f391a7e3707dad653269030da52082e5c4f0a..f3c95f83ade8cc81a783056e38e38b710a5dcdfe 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
+ fstpl 4(%esp)
+ fldl 4(%esp)
ret
1: fld1
faddp
fyl2x
+ fstpl 4(%esp)
+ fldl 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 4d3484cd3747ad300c8732632e181d8cac716018..9f13d95ffb57ff8418d291b9951e1771f166ba5c 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
+ fstps 4(%esp)
+ flds 4(%esp)
ret
1: fld1
faddp
fyl2x
+ fstps 4(%esp)
+ flds 4(%esp)
ret
# subnormal x, return x with underflow
2: fxch
diff --git
a/src/math/i386/log2.s
b/src/math/i386/log2.s
index 15088037747fb3cdfbd363e166d44b3686ff73f6..7eff0b616c28d492e0d87cd85fe3ca53ae953a58 100644
(file)
--- a/
src/math/i386/log2.s
+++ b/
src/math/i386/log2.s
@@
-4,4
+4,6
@@
log2:
fld1
fldl 4(%esp)
fyl2x
+ fstpl 4(%esp)
+ fldl 4(%esp)
ret
diff --git
a/src/math/i386/log2f.s
b/src/math/i386/log2f.s
index 00cdce75a0fc5997cfd883c33da578e6016235f2..b32fa2f76ae1d6e33a83a846880f1604713bd691 100644
(file)
--- a/
src/math/i386/log2f.s
+++ b/
src/math/i386/log2f.s
@@
-4,4
+4,6
@@
log2f:
fld1
flds 4(%esp)
fyl2x
+ fstps 4(%esp)
+ flds 4(%esp)
ret
diff --git
a/src/math/i386/logf.s
b/src/math/i386/logf.s
index da7ff3ae111d192894ea54e39e247ef549a86e8c..4d0346a4458626cf794f028551817a867187f70a 100644
(file)
--- a/
src/math/i386/logf.s
+++ b/
src/math/i386/logf.s
@@
-4,4
+4,6
@@
logf:
fldln2
flds 4(%esp)
fyl2x
+ fstps 4(%esp)
+ flds 4(%esp)
ret