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:
Chris Sutcliffe 2007-11-27 02:14:19 +00:00
parent ee4388c420
commit 4694cc18c2
13 changed files with 119 additions and 102 deletions

View File

@ -1,3 +1,18 @@
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.
2007-10-03 Danny Smith <dannysmith@users.sourceforge.net>
* mingwex/gdtoa/mingw_snprintf.c: fixed warning during compile.

View File

@ -184,6 +184,7 @@ LIBS = libcrtdll.a \
libmsvcr70.a libmsvcr70d.a \
libmsvcr71.a libmsvcr71d.a \
libmsvcr80.a libmsvcr80d.a \
libmsvcr90.a libmsvcr90d.a \
libmingw32.a \
libcoldname.a \
libmoldname.a libmoldnamed.a \
@ -273,6 +274,7 @@ msvcrt.def msvcrtd.def \
msvcr70.def msvcr70d.def \
msvcr71.def msvcr71d.def \
msvcr80.def msvcr80d.def \
msvcr90.def msvcr90d.def \
: msvcrt.def.in
$(CC) -DRUNTIME=$(basename $(notdir $@)) \
-D__$(basename $(notdir $@))__=1 \

View File

@ -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 ±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 ±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 ±Inf
3: jp 4b /* in case x is ±Inf */
fstp %st(1)
fstp %st(1)
ret

View File

@ -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 ±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 ±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 ±Inf
3: jp 4b /* in case x is ±Inf */
fstp %st(1)
fstp %st(1)
ret

View File

@ -27,7 +27,7 @@ _log1p:
fnstsw
fld %st
sahf
jc 3f // in case x is NaN or ±Inf
jc 3f /* in case x is NaN or ±Inf */
4: fabs
fcompl limit
@ -41,7 +41,7 @@ _log1p:
2: fyl2xp1
ret
3: jp 4b // in case x is ±Inf
3: jp 4b /* in case x is ±Inf */
fstp %st(1)
fstp %st(1)
ret

View File

@ -27,7 +27,7 @@ _log1pf:
fnstsw
fld %st
sahf
jc 3f // in case x is NaN or ±Inf
jc 3f /* in case x is NaN or ±Inf */
4: fabs
fcomps limit
@ -41,7 +41,7 @@ _log1pf:
2: fyl2xp1
ret
3: jp 4b // in case x is ±Inf
3: jp 4b /* in case x is ±Inf */
fstp %st(1)
fstp %st(1)
ret

View File

@ -33,7 +33,7 @@ _log1pl:
fnstsw
fld %st
sahf
jc 3f // in case x is NaN or ±Inf
jc 3f /* in case x is NaN or ±Inf */
4:
fabs
fldt limit
@ -48,7 +48,7 @@ _log1pl:
2: fyl2xp1
ret
3: jp 4b // in case x is ±Inf
3: jp 4b /* in case x is ±Inf */
fstp %st(1)
fstp %st(1)
ret

View File

@ -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 ±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 ±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 ±Inf
3: jp 4b /* in case x is ±Inf */
fstp %st(1)
fstp %st(1)
ret

View File

@ -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 ±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 ±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 ±Inf
3: jp 4b /* in case x is ±Inf */
fstp %st(1)
fstp %st(1)
ret

View File

@ -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 ±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 ±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 ±Inf
3: jp 4b /* in case x is ±Inf */
fstp %st(1)
fstp %st(1)
ret

View File

@ -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

View File

@ -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

View File

@ -5,7 +5,7 @@
;* This file is a part of the mingw-runtime package.
;* No warranty is given; refer to the file DISCLAIMER within the package.
;
; Exports from msvcrt.dll, msvcr70.dll, msvcr71.dll and msvcr80.dll
; Exports from msvcrt.dll, msvcr70.dll, msvcr71.dll, msvcr80.dll and msvcr90.dll
;
; NOTE: All exports, except for what appeared to be C++ mangled names,
; are included. Not all functions have prototypes in the headers
@ -148,7 +148,7 @@ _cprintf
_cputs
_creat
_cscanf
#if !(__msvcr71__ || __msvcr71d__ || __msvcr80__ || __msvcr80d__)
#if !(__msvcr71__ || __msvcr71d__ || __msvcr80__ || __msvcr80d__ || __msvcr90__ || msvcr90d__)
_ctype DATA
#endif
_cwait
@ -743,7 +743,7 @@ _wfindfirst64
_wfindnext64
_wstat64
_wutime64
#if ( __msvcr70__ || __msvcr70d__ || __msvcr71__ || __msvcr71d__ || __msvcr80__ || __msvcr80d__)
#if ( __msvcr70__ || __msvcr70d__ || __msvcr71__ || __msvcr71d__ || __msvcr80__ || __msvcr80d__ || __msvcr90__ || __msvcr90d__)
; msvcr70.dll amd later
__buffer_overrun
__CxxDetectRethrow
@ -787,7 +787,7 @@ _wcstoui64
_wctype
_wtof
#endif /* 7.0 */
#if (__msvcr71__ || __msvcr71d__ || __msvcr80__ || __msvcr80d__)
#if (__msvcr71__ || __msvcr71d__ || __msvcr80__ || __msvcr80d__ || __msvcr90__ || __msvcr90d__)
; msvcr71.dll
___lc_codepage_func
___lc_collate_cp_func
@ -808,7 +808,7 @@ _get_heap_handle
_set_purecall_handler
_set_SSE2_enable
#endif /* 7.1 */
#if ( __msvcr80__ || __msvcr80d__)
#if ( __msvcr80__ || __msvcr80d__ || __msvcr90__ || __msvcr90d__)
; msvcr80.dll
_get_printf_count_output
_set_printf_count_output