Browse Source

fix excess precision in return value of i386 log-family functions

master
Rich Felker 6 years ago
parent
commit
ab9e20905d
  1. 2
      src/math/i386/log.s
  2. 2
      src/math/i386/log10.s
  3. 2
      src/math/i386/log10f.s
  4. 4
      src/math/i386/log1p.s
  5. 4
      src/math/i386/log1pf.s
  6. 2
      src/math/i386/log2.s
  7. 2
      src/math/i386/log2f.s
  8. 2
      src/math/i386/logf.s

2
src/math/i386/log.s

@ -4,4 +4,6 @@ log:
fldln2
fldl 4(%esp)
fyl2x
fstpl 4(%esp)
fldl 4(%esp)
ret

2
src/math/i386/log10.s

@ -4,4 +4,6 @@ log10:
fldlg2
fldl 4(%esp)
fyl2x
fstpl 4(%esp)
fldl 4(%esp)
ret

2
src/math/i386/log10f.s

@ -4,4 +4,6 @@ log10f:
fldlg2
flds 4(%esp)
fyl2x
fstps 4(%esp)
flds 4(%esp)
ret

4
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)

4
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

2
src/math/i386/log2.s

@ -4,4 +4,6 @@ log2:
fld1
fldl 4(%esp)
fyl2x
fstpl 4(%esp)
fldl 4(%esp)
ret

2
src/math/i386/log2f.s

@ -4,4 +4,6 @@ log2f:
fld1
flds 4(%esp)
fyl2x
fstps 4(%esp)
flds 4(%esp)
ret

2
src/math/i386/logf.s

@ -4,4 +4,6 @@ logf:
fldln2
flds 4(%esp)
fyl2x
fstps 4(%esp)
flds 4(%esp)
ret

Loading…
Cancel
Save