2007-11-26 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* Makefile.in: Add libmsvcr90.a and libmsvcr90d.a targets. * msvcrt.def.in: Add support for __msvcr90__ and __msvcr90d__ defines. * mingwex/math/log10f.S: Correct issue with comments. * mingwex/math/log10l.S: Ditto. * mingwex/math/log1p.S: Ditto. * mingwex/math/log1pf.S: Ditto. * mingwex/math/log1pl.S: Ditto. * mingwex/math/log2.S: Ditto. * mingwex/math/log2f.S: Ditto. * mingwex/math/log2l.S: Ditto. * mingwex/math/logf.S: Ditto. * mingwex/math/logl.S: Ditto.
This commit is contained in:
@@ -20,29 +20,29 @@ limit: .double 0.29
|
||||
.globl _log10f
|
||||
.def _log10f; .scl 2; .type 32; .endef
|
||||
_log10f:
|
||||
fldlg2 // log10(2)
|
||||
flds 4(%esp) // x : log10(2)
|
||||
fldlg2 /* log10(2) */
|
||||
flds 4(%esp) /* x : log10(2) */
|
||||
fxam
|
||||
fnstsw
|
||||
fld %st // x : x : log10(2)
|
||||
fld %st /* x : x : log10(2) */
|
||||
sahf
|
||||
jc 3f // in case x is NaN or <EFBFBD>Inf
|
||||
4: fsubl one // x-1 : x : log10(2)
|
||||
fld %st // x-1 : x-1 : x : log10(2)
|
||||
fabs // |x-1| : x-1 : x : log10(2)
|
||||
fcompl limit // x-1 : x : log10(2)
|
||||
fnstsw // x-1 : x : log10(2)
|
||||
jc 3f /* in case x is NaN or <EFBFBD>Inf */
|
||||
4: fsubl one /* x-1 : x : log10(2) */
|
||||
fld %st /* x-1 : x-1 : x : log10(2) */
|
||||
fabs /* |x-1| : x-1 : x : log10(2) */
|
||||
fcompl limit /* x-1 : x : log10(2) */
|
||||
fnstsw /* x-1 : x : log10(2) */
|
||||
andb $0x45, %ah
|
||||
jz 2f
|
||||
fstp %st(1) // x-1 : log10(2)
|
||||
fyl2xp1 // log10(x)
|
||||
fstp %st(1) /* x-1 : log10(2) */
|
||||
fyl2xp1 /* log10(x) */
|
||||
ret
|
||||
|
||||
2: fstp %st(0) // x : log10(2)
|
||||
fyl2x // log10(x)
|
||||
2: fstp %st(0) /* x : log10(2) */
|
||||
fyl2x /* log10(x) */
|
||||
ret
|
||||
|
||||
3: jp 4b // in case x is <EFBFBD>Inf
|
||||
3: jp 4b /* in case x is <EFBFBD>Inf */
|
||||
fstp %st(1)
|
||||
fstp %st(1)
|
||||
ret
|
||||
|
@@ -24,29 +24,29 @@ limit: .double 0.29
|
||||
.globl _log10l
|
||||
.def _log10l; .scl 2; .type 32; .endef
|
||||
_log10l:
|
||||
fldlg2 // log10(2)
|
||||
fldt 4(%esp) // x : log10(2)
|
||||
fldlg2 /* log10(2) */
|
||||
fldt 4(%esp) /* x : log10(2) */
|
||||
fxam
|
||||
fnstsw
|
||||
fld %st // x : x : log10(2)
|
||||
fld %st /* x : x : log10(2) */
|
||||
sahf
|
||||
jc 3f // in case x is NaN or <EFBFBD>Inf
|
||||
4: fsubl one // x-1 : x : log10(2)
|
||||
fld %st // x-1 : x-1 : x : log10(2)
|
||||
fabs // |x-1| : x-1 : x : log10(2)
|
||||
fcompl limit // x-1 : x : log10(2)
|
||||
fnstsw // x-1 : x : log10(2)
|
||||
jc 3f /* in case x is NaN or <EFBFBD>Inf */
|
||||
4: fsubl one /* x-1 : x : log10(2) */
|
||||
fld %st /* x-1 : x-1 : x : log10(2) */
|
||||
fabs /* |x-1| : x-1 : x : log10(2) */
|
||||
fcompl limit /* x-1 : x : log10(2) */
|
||||
fnstsw /* x-1 : x : log10(2) */
|
||||
andb $0x45, %ah
|
||||
jz 2f
|
||||
fstp %st(1) // x-1 : log10(2)
|
||||
fyl2xp1 // log10(x)
|
||||
fstp %st(1) /* x-1 : log10(2) */
|
||||
fyl2xp1 /* log10(x) */
|
||||
ret
|
||||
|
||||
2: fstp %st(0) // x : log10(2)
|
||||
fyl2x // log10(x)
|
||||
2: fstp %st(0) /* x : log10(2) */
|
||||
fyl2x /* log10(x) */
|
||||
ret
|
||||
|
||||
3: jp 4b // in case x is <EFBFBD>Inf
|
||||
3: jp 4b /* in case x is <EFBFBD>Inf */
|
||||
fstp %st(1)
|
||||
fstp %st(1)
|
||||
ret
|
||||
|
@@ -27,7 +27,7 @@ _log1p:
|
||||
fnstsw
|
||||
fld %st
|
||||
sahf
|
||||
jc 3f // in case x is NaN or <EFBFBD>Inf
|
||||
jc 3f /* in case x is NaN or <EFBFBD>Inf */
|
||||
|
||||
4: fabs
|
||||
fcompl limit
|
||||
@@ -41,7 +41,7 @@ _log1p:
|
||||
2: fyl2xp1
|
||||
ret
|
||||
|
||||
3: jp 4b // in case x is <EFBFBD>Inf
|
||||
3: jp 4b /* in case x is <EFBFBD>Inf */
|
||||
fstp %st(1)
|
||||
fstp %st(1)
|
||||
ret
|
||||
|
@@ -27,7 +27,7 @@ _log1pf:
|
||||
fnstsw
|
||||
fld %st
|
||||
sahf
|
||||
jc 3f // in case x is NaN or <EFBFBD>Inf
|
||||
jc 3f /* in case x is NaN or <EFBFBD>Inf */
|
||||
|
||||
4: fabs
|
||||
fcomps limit
|
||||
@@ -41,7 +41,7 @@ _log1pf:
|
||||
2: fyl2xp1
|
||||
ret
|
||||
|
||||
3: jp 4b // in case x is <EFBFBD>Inf
|
||||
3: jp 4b /* in case x is <EFBFBD>Inf */
|
||||
fstp %st(1)
|
||||
fstp %st(1)
|
||||
ret
|
||||
|
@@ -33,7 +33,7 @@ _log1pl:
|
||||
fnstsw
|
||||
fld %st
|
||||
sahf
|
||||
jc 3f // in case x is NaN or <EFBFBD>Inf
|
||||
jc 3f /* in case x is NaN or <EFBFBD>Inf */
|
||||
4:
|
||||
fabs
|
||||
fldt limit
|
||||
@@ -48,7 +48,7 @@ _log1pl:
|
||||
2: fyl2xp1
|
||||
ret
|
||||
|
||||
3: jp 4b // in case x is <EFBFBD>Inf
|
||||
3: jp 4b /* in case x is <EFBFBD>Inf */
|
||||
fstp %st(1)
|
||||
fstp %st(1)
|
||||
ret
|
||||
|
@@ -24,28 +24,28 @@ limit: .double 0.29
|
||||
.def _log2; .scl 2; .type 32; .endef
|
||||
_log2:
|
||||
fldl one
|
||||
fldl 4(%esp) // x : 1
|
||||
fldl 4(%esp) /* x : 1 */
|
||||
fxam
|
||||
fnstsw
|
||||
fld %st // x : x : 1
|
||||
fld %st /* x : x : 1 */
|
||||
sahf
|
||||
jc 3f // in case x is NaN or <EFBFBD>Inf
|
||||
4: fsub %st(2), %st // x-1 : x : 1
|
||||
fld %st // x-1 : x-1 : x : 1
|
||||
fabs // |x-1| : x-1 : x : 1
|
||||
fcompl limit // x-1 : x : 1
|
||||
fnstsw // x-1 : x : 1
|
||||
jc 3f /* in case x is NaN or <EFBFBD>Inf */
|
||||
4: fsub %st(2), %st /* x-1 : x : 1 */
|
||||
fld %st /* x-1 : x-1 : x : 1 */
|
||||
fabs /* |x-1| : x-1 : x : 1 */
|
||||
fcompl limit /* x-1 : x : 1 */
|
||||
fnstsw /* x-1 : x : 1 */
|
||||
andb $0x45, %ah
|
||||
jz 2f
|
||||
fstp %st(1) // x-1 : 1
|
||||
fyl2xp1 // log(x)
|
||||
fstp %st(1) /* x-1 : 1 */
|
||||
fyl2xp1 /* log(x) */
|
||||
ret
|
||||
|
||||
2: fstp %st(0) // x : 1
|
||||
fyl2x // log(x)
|
||||
2: fstp %st(0) /* x : 1 */
|
||||
fyl2x /* log(x) */
|
||||
ret
|
||||
|
||||
3: jp 4b // in case x is <EFBFBD>Inf
|
||||
3: jp 4b /* in case x is <EFBFBD>Inf */
|
||||
fstp %st(1)
|
||||
fstp %st(1)
|
||||
ret
|
||||
|
@@ -24,28 +24,28 @@ limit: .double 0.29
|
||||
.def _log2f; .scl 2; .type 32; .endef
|
||||
_log2f:
|
||||
fldl one
|
||||
flds 4(%esp) // x : 1
|
||||
flds 4(%esp) /* x : 1 */
|
||||
fxam
|
||||
fnstsw
|
||||
fld %st // x : x : 1
|
||||
fld %st /* x : x : 1 */
|
||||
sahf
|
||||
jc 3f // in case x is NaN or <EFBFBD>Inf
|
||||
4: fsub %st(2), %st // x-1 : x : 1
|
||||
fld %st // x-1 : x-1 : x : 1
|
||||
fabs // |x-1| : x-1 : x : 1
|
||||
fcompl limit // x-1 : x : 1
|
||||
fnstsw // x-1 : x : 1
|
||||
jc 3f /* in case x is NaN or <EFBFBD>Inf */
|
||||
4: fsub %st(2), %st /* x-1 : x : 1 */
|
||||
fld %st /* x-1 : x-1 : x : 1 */
|
||||
fabs /* |x-1| : x-1 : x : 1 */
|
||||
fcompl limit /* x-1 : x : 1 */
|
||||
fnstsw /* x-1 : x : 1 */
|
||||
andb $0x45, %ah
|
||||
jz 2f
|
||||
fstp %st(1) // x-1 : 1
|
||||
fyl2xp1 // log(x)
|
||||
fstp %st(1) /* x-1 : 1 */
|
||||
fyl2xp1 /* log(x) */
|
||||
ret
|
||||
|
||||
2: fstp %st(0) // x : 1
|
||||
fyl2x // log(x)
|
||||
2: fstp %st(0) /* x : 1 */
|
||||
fyl2x /* log(x) */
|
||||
ret
|
||||
|
||||
3: jp 4b // in case x is <EFBFBD>Inf
|
||||
3: jp 4b /* in case x is <EFBFBD>Inf */
|
||||
fstp %st(1)
|
||||
fstp %st(1)
|
||||
ret
|
||||
|
@@ -21,28 +21,28 @@ limit: .double 0.29
|
||||
.def _log2l; .scl 2; .type 32; .endef
|
||||
_log2l:
|
||||
fldl one
|
||||
fldt 4(%esp) // x : 1
|
||||
fldt 4(%esp) /* x : 1 */
|
||||
fxam
|
||||
fnstsw
|
||||
fld %st // x : x : 1
|
||||
fld %st /* x : x : 1 */
|
||||
sahf
|
||||
jc 3f // in case x is NaN or <EFBFBD>Inf
|
||||
4: fsub %st(2), %st // x-1 : x : 1
|
||||
fld %st // x-1 : x-1 : x : 1
|
||||
fabs // |x-1| : x-1 : x : 1
|
||||
fcompl limit // x-1 : x : 1
|
||||
fnstsw // x-1 : x : 1
|
||||
jc 3f /* in case x is NaN or <EFBFBD>Inf */
|
||||
4: fsub %st(2), %st /* x-1 : x : 1 */
|
||||
fld %st /* x-1 : x-1 : x : 1 */
|
||||
fabs /* |x-1| : x-1 : x : 1 */
|
||||
fcompl limit /* x-1 : x : 1 */
|
||||
fnstsw /* x-1 : x : 1 */
|
||||
andb $0x45, %ah
|
||||
jz 2f
|
||||
fstp %st(1) // x-1 : 1
|
||||
fyl2xp1 // log(x)
|
||||
fstp %st(1) /* x-1 : 1 */
|
||||
fyl2xp1 /* log(x) */
|
||||
ret
|
||||
|
||||
2: fstp %st(0) // x : 1
|
||||
fyl2x // log(x)
|
||||
2: fstp %st(0) /* x : 1 */
|
||||
fyl2x /* log(x) */
|
||||
ret
|
||||
|
||||
3: jp 4b // in case x is <EFBFBD>Inf
|
||||
3: jp 4b /* in case x is <EFBFBD>Inf */
|
||||
fstp %st(1)
|
||||
fstp %st(1)
|
||||
ret
|
||||
|
@@ -20,20 +20,20 @@ limit: .double 0.29
|
||||
.globl _logf
|
||||
.def _logf; .scl 2; .type 32; .endef
|
||||
_logf:
|
||||
fldln2 // log(2)
|
||||
flds 4(%esp) // x : log(2)
|
||||
fld %st // x : x : log(2)
|
||||
fsubl one // x-1 : x : log(2)
|
||||
fld %st // x-1 : x-1 : x : log(2)
|
||||
fabs // |x-1| : x-1 : x : log(2)
|
||||
fcompl limit // x-1 : x : log(2)
|
||||
fnstsw // x-1 : x : log(2)
|
||||
fldln2 /* log(2) */
|
||||
flds 4(%esp) /* x : log(2) */
|
||||
fld %st /* x : x : log(2) */
|
||||
fsubl one /* x-1 : x : log(2) */
|
||||
fld %st /* x-1 : x-1 : x : log(2) */
|
||||
fabs /* |x-1| : x-1 : x : log(2) */
|
||||
fcompl limit /* x-1 : x : log(2) */
|
||||
fnstsw /* x-1 : x : log(2) */
|
||||
andb $0x45, %ah
|
||||
jz 2f
|
||||
fstp %st(1) // x-1 : log(2)
|
||||
fyl2xp1 // log(x)
|
||||
fstp %st(1) /* x-1 : log(2) */
|
||||
fyl2xp1 /* log(x) */
|
||||
ret
|
||||
|
||||
2: fstp %st(0) // x : log(2)
|
||||
fyl2x // log(x)
|
||||
2: fstp %st(0) /* x : log(2) */
|
||||
fyl2x /* log(x) */
|
||||
ret
|
||||
|
@@ -21,20 +21,20 @@ limit: .double 0.29
|
||||
.globl _logl
|
||||
.def _logl; .scl 2; .type 32; .endef
|
||||
_logl:
|
||||
fldln2 // log(2)
|
||||
fldt 4(%esp) // x : log(2)
|
||||
fld %st // x : x : log(2)
|
||||
fsubl one // x-1 : x : log(2)
|
||||
fld %st // x-1 : x-1 : x : log(2)
|
||||
fabs // |x-1| : x-1 : x : log(2)
|
||||
fcompl limit // x-1 : x : log(2)
|
||||
fnstsw // x-1 : x : log(2)
|
||||
fldln2 /* log(2) */
|
||||
fldt 4(%esp) /* x : log(2) */
|
||||
fld %st /* x : x : log(2) */
|
||||
fsubl one /* x-1 : x : log(2) */
|
||||
fld %st /* x-1 : x-1 : x : log(2) */
|
||||
fabs /* |x-1| : x-1 : x : log(2) */
|
||||
fcompl limit /* x-1 : x : log(2) */
|
||||
fnstsw /* x-1 : x : log(2) */
|
||||
andb $0x45, %ah
|
||||
jz 2f
|
||||
fstp %st(1) // x-1 : log(2)
|
||||
fyl2xp1 // log(x)
|
||||
fstp %st(1) /* x-1 : log(2) */
|
||||
fyl2xp1 /* log(x) */
|
||||
ret
|
||||
|
||||
2: fstp %st(0) // x : log(2)
|
||||
fyl2x // log(x)
|
||||
2: fstp %st(0) /* x : log(2) */
|
||||
fyl2x /* log(x) */
|
||||
ret
|
||||
|
Reference in New Issue
Block a user