Преглед на файлове

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

Rich Felker преди 5 години
родител
ревизия
ab9e20905d
променени са 8 файла, в които са добавени 20 реда и са изтрити 0 реда
  1. 2 0
      src/math/i386/log.s
  2. 2 0
      src/math/i386/log10.s
  3. 2 0
      src/math/i386/log10f.s
  4. 4 0
      src/math/i386/log1p.s
  5. 4 0
      src/math/i386/log1pf.s
  6. 2 0
      src/math/i386/log2.s
  7. 2 0
      src/math/i386/log2f.s
  8. 2 0
      src/math/i386/logf.s

+ 2 - 0
src/math/i386/log.s

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

+ 2 - 0
src/math/i386/log10.s

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

+ 2 - 0
src/math/i386/log10f.s

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

+ 4 - 0
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 - 0
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 - 0
src/math/i386/log2.s

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

+ 2 - 0
src/math/i386/log2f.s

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

+ 2 - 0
src/math/i386/logf.s

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