From ff340ae492915a1723450c148641b594326c5fd8 Mon Sep 17 00:00:00 2001 From: Mystery Man Date: Mon, 4 Apr 2005 19:00:13 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'V10_2_19mdk'. --- mdk-stage1/dietlibc/i386/libm2.S | 643 --------------------------------------- 1 file changed, 643 deletions(-) delete mode 100644 mdk-stage1/dietlibc/i386/libm2.S (limited to 'mdk-stage1/dietlibc/i386/libm2.S') diff --git a/mdk-stage1/dietlibc/i386/libm2.S b/mdk-stage1/dietlibc/i386/libm2.S deleted file mode 100644 index 91c4437cd..000000000 --- a/mdk-stage1/dietlibc/i386/libm2.S +++ /dev/null @@ -1,643 +0,0 @@ -.text -#d.half: -# .long 0x3f000000 # 1/2 -#d.log1p: -# .long 0x3ed413cc # < sqrt(2)-1-2^(-25) - -.global fabsf,fabs,fabsl - .type fabsf,@function - .type fabs,@function - .type fabsl,@function -fabsf: - flds 4(%esp) - fabs - ret -fabs: - fldl 4(%esp) - fabs - ret -fabsl: - fldt 4(%esp) - fabs - ret - -.global sincosf,sincos,sincosl -.type sincosf,@function -.type sincos,@function -.type sincosl,@function -# void sincos ( double x, double* sinx, double* cosx ); - -sincosf: - flds 4(%esp) - call __fmod2pi - movl 12(%esp),%eax - movl 8(%esp),%ecx - fsincos - fstps (%eax) - fstps (%ecx) - ret -sincos: - fldl 4(%esp) - call __fmod2pi - movl 16(%esp),%eax - movl 12(%esp),%ecx - fsincos - fstpl (%eax) - fstpl (%ecx) - ret -sincosl: - fldt 4(%esp) - call __fmod2pi - movl 20(%esp),%eax - movl 16(%esp),%ecx - fsincos - fstpt (%eax) - fstpt (%ecx) - ret - -.global tanf,tan,tanl -.type tanf,@function -.type tan,@function -.type tanl,@function -tanf: - flds 4(%esp) - jmp __tan -tan: - fldl 4(%esp) -__tan: - call __fmod2pi - fsincos - fdivrp - ret -tanl: - fldt 4(%esp) - jmp __tan - -.global atan2f,atan2,atan2l - .type atan2f,@function - .type atan2,@function - .type atan2l,@function -atan2f: - flds 4(%esp) - flds 8(%esp) - fpatan - ret -atan2l: - fldt 4(%esp) - fldt 16(%esp) - fpatan - ret -atan2: - fldl 4(%esp) - fldl 12(%esp) - fpatan - ret - -.global cbrtf,cbrt,cbrtl - .type cbrtf,@function - .type cbrt,@function - .type cbrtl,@function -cbrtf: - flds 4(%esp) - jmp __cbrt -cbrtl: - fldt 4(%esp) - jmp __cbrt -cbrt: - fldl 4(%esp) -# fldt 1/3 -__cbrt: - pushl $0x00003ffd # yes, this method of loading 1/3 - pushl $0xaaaaaaaa # is shorter than keeping the data - pushl $0xaaaaaaab # separate - fldt (%esp) - addl $12,%esp - fxch # st(0)=x, st(1)=1/3 - ftst - fstsw %ax - sahf - jz 1f - jnc finpow - fchs - call finpow - fchs -1: ret - -# x^y; st(0)=x, st(1)=y (x > 0) -finpow: - fyl2x - jmp __finexp - -.global exp2f,exp2,exp2l - .type exp2f,@function - .type exp2,@function - .type exp2l,@function -exp2f: - flds 4(%esp) - jmp __finexp -exp2: - fldl 4(%esp) - jmp __finexp -exp2l: - fldt 4(%esp) - jmp __finexp - -.global exp10f,exp10,exp10l #,pow10f,pow10,pow10l - .type exp10f,@function - .type exp10,@function - .type exp10l,@function -# .type pow10f,@function -# .type pow10,@function -# .type pow10l,@function -exp10f: -#pow10f: - fldl2t - fmuls 4(%esp) - jmp __finexp -exp10: -#pow10: - fldl2t - fmull 4(%esp) - jmp __finexp -exp10l: -#pow10l: - fldl2t - fldt 4(%esp) - fmulp - jmp __finexp - -# exp(x)-1 -.global expm1f,expm1,expm1l - .type expm1f,@function - .type expm1,@function - .type expm1l,@function -expm1f: - fldl2e - fmuls 4(%esp) - jmp finem1 -expm1l: - fldl2e - fldt 4(%esp) - fmulp - jmp finem1 -expm1: - fldl2e - fmull 4(%esp) -# -1 <= st <= 1 ? -finem1: - fst %st(1) # st(1)=st(0) - fabs - fld1 - fcompp - fstsw %ax - sahf -# |x| >= 1 - jc 1f - f2xm1 - ret -1: call __finexp - fld1 - fsubrp - ret - -# sinh(x)=(exp(x)-exp(-x))/2 -# cosh(x)=(exp(x)+exp(-x))/2 -# tanh(x)=sinh(x)/cosh(x) -.global sinhf,sinh,sinhl - .type sinhf,@function - .type sinh,@function - .type sinhl,@function -sinhf: - fldl2e - fmuls 4(%esp) - jmp finsinh -sinh: - fldl2e - fmull 4(%esp) -finsinh: - call __finexp - fld1 - fdiv %st(1),%st(0) # st(0)=1/exp(x), st(1)=exp(x) - fsubrp %st(0),%st(1) - pushl $0x3f000000 # 1/2 - flds (%esp) - popl %eax - fmulp - ret - -sinhl: - fldl2e - fldt 4(%esp) - fmulp - jmp finsinh - -.global coshf,cosh,coshl - .type coshf,@function - .type cosh,@function - .type coshl,@function -coshf: - fldl2e - fmuls 4(%esp) - jmp fincosh -cosh: - fldl2e - fmull 4(%esp) -fincosh: - call __finexp - fld1 - fdiv %st(1),%st(0) # st(0)=1/exp(x), st(1)=exp(x) - faddp %st,%st(1) - pushl $0x3f000000 # 1/2 - flds (%esp) - popl %eax - fmulp - ret - -coshl: - fldl2e - fldt 4(%esp) - fmulp - jmp fincosh - -.global tanhf,tanh,tanhl - .type tanhf,@function - .type tanh,@function - .type tanhl,@function -tanhf: - fldl2e - fmuls 4(%esp) - call __finexp - jmp fintanh -tanh: - fldl2e - fmull 4(%esp) - call __finexp -fintanh: - fld1 - fdiv %st(1),%st # st(0)=1/exp(x), st(1)=exp(x) - fst %st(2) # st(2)=1/exp(x) - fadd %st(1),%st(0) - fstp %st(3) # st(2)=exp(x)+exp(-x), st(1)=exp(-x), st(0)=exp(x) - fsubp # st(1)=exp(x)+exp(-x), st(0)=exp(x)-exp(-x) - fdivp - ret - -tanhl: - fldl2e - fldt 4(%esp) - fmulp - call __finexp - jmp fintanh - -.global hypotf,hypot,hypotl # ,__hypot - .type hypotf,@function - .type hypot,@function - .type hypotl,@function -# .type __hypot,@function -hypotf: - flds 8(%esp) - flds 4(%esp) - jmp __hypot -hypotl: - fldt 16(%esp) - fldt 4(%esp) - jmp __hypot -hypot: - fldl 12(%esp) - fldl 4(%esp) -__hypot: - fmul %st(0),%st(0) - fxch - fmul %st(0),%st(0) - faddp - fsqrt - ret - -.global log1pf,log1p,log1pl - .type log1pf,@function - .type log1p,@function - .type log1pl,@function -log1pf: - flds 4(%esp) - jmp __log1p -log1pl: - fldt 4(%esp) - jmp __log1p -log1p: - fldl 4(%esp) -__log1p: -# Sprawdzenie zakresu parametru - fst %st(1) - pushl $0x3ed413cc # sqrt(2)-1-2^(-25) - fabs - flds (%esp) - popl %eax - fcompp # porownanie - fstsw %ax - fldln2 - fxch - sahf -# |x| >= sqrt(2)-1 - jc 1f - fyl2xp1 - ret -1: fld1 # x = x + 1 - faddp - fyl2x - ret - -.global log10f,log10,log10l - .type log10f,@function - .type log10,@function - .type log10l,@function -log10f: - fldlg2 - flds 4(%esp) - fyl2x - ret -log10l: - fldlg2 - fldt 4(%esp) - fyl2x - ret -log10: - fldlg2 - fldl 4(%esp) - fyl2x - ret - -.global log2f,log2,log2l - .type log2f,@function - .type log2,@function - .type log2l,@function -log2f: - fld1 - flds 4(%esp) - fyl2x - ret -log2l: - fld1 - fldt 4(%esp) - fyl2x - ret -log2: - fld1 - fldl 4(%esp) - fyl2x - ret - -.global fmaf,fma,fmal - .type fmaf,@function - .type fma,@function - .type fmal,@function -fmaf: - flds 4(%esp) - fmuls 8(%esp) - fadds 12(%esp) - ret -fma: - fldl 4(%esp) - fmull 12(%esp) - faddl 20(%esp) - ret -fmal: - fldt 4(%esp) - fldt 16(%esp) - fmulp %st,%st(1) - fldt 28(%esp) - faddp %st,%st(1) - ret - -.global asinhf,asinh,asinhl - .type asinhf,@function - .type asinh,@function - .type asinhl,@function -asinhf: - flds 4(%esp) - jmp __asinh -asinh: - fldl 4(%esp) -__asinh: - fld %st(0) - fmul %st(0),%st(0) - fld1 - faddp %st(0),%st(1) -finasch: - fsqrt - faddp %st(0),%st(1) - fldln2 - fxch - fyl2x - ret -asinhl: - fldt 4(%esp) - jmp __asinh - -.global acoshf,acosh,acoshl - .type acoshf,@function - .type acosh,@function - .type acoshl,@function -acoshf: - flds 4(%esp) - jmp __acosh -acosh: - fldl 4(%esp) -__acosh: - fld %st(0) - fmul %st(0),%st(0) - fld1 - fsubrp %st(0),%st(1) # st1=st1-st0; pop - jmp finasch -acoshl: - fldt 4(%esp) - jmp __acosh - -.global atanhf,atanh,atanhl - .type atanhf,@function - .type atanh,@function - .type atanhl,@function -atanhf: - flds 4(%esp) - jmp __atanh -atanh: - fldl 4(%esp) -__atanh: - fst %st(1) - fld1 # st0=1, st1=x, st2=x - fadd %st(0),%st(2) # st0=1, st1=x, st2=x+1 - fsubp %st(0),%st(1) # st0=1-x, st1=x+1 - fdivrp %st(0),%st(1) - fsqrt - fldln2 - fxch - fyl2x - ret -atanhl: - fldt 4(%esp) - jmp __atanh - -.global dremf,drem,dreml - .type dremf,@function - .type drem,@function - .type dreml,@function -dremf: - flds 8(%esp) # y - flds 4(%esp) # x - jmp __drem -drem: - fldl 12(%esp) - fldl 4(%esp) -__drem: - fprem1 - fstsw %ax - sahf - jp __drem - ret - -dreml: - fldt 16(%esp) - fldt 4(%esp) - jmp __drem - -# |ret| = |x|, sign(ret) = sign(y) -.global copysignf,copysign,copysignl - .type copysignf,@function - .type copysign,@function - .type copysignl,@function -copysignf: - flds 4(%esp) # x - flds 8(%esp) # y - jmp __copysign -copysign: - fldl 4(%esp) - fldl 12(%esp) -__copysign: - fmul %st(1),%st # st = x*y - ftst - fstsw %ax - fincstp - sahf - jnc 1f - fchs -1: ret - -copysignl: - fldt 4(%esp) - fldt 16(%esp) - jmp __copysign - -.global fdimf,fdim,fdiml - .type fdimf,@function - .type fdim,@function - .type fdiml,@function -fdimf: - flds 4(%esp) - fsubl 12(%esp) - jmp __fdim -fdim: - fldl 4(%esp) - fsubl 12(%esp) -__fdim: - fstsw %ax - sahf - jnc 1f - fldz -1: ret -fdiml: - fldt 4(%esp) - fldt 16(%esp) - fsubp - jmp __fdim - - -.global truncf,trunc,truncl - .type truncf,@function - .type trunc,@function - .type truncl,@function - -truncf: - flds 4(%esp) - movb $0x0c,%ah - jmp __flcetr - -trunc: - fldl 4(%esp) - movb $0x0c,%ah - jmp __flcetr - -truncl: - fldt 4(%esp) - movb $0x0c,%ah - jmp __flcetr - -.global frexpf,frexp,frexpl - .type frexpf,@function - .type frexp,@function - .type frexpl,@function - -frexpf: - flds 4(%esp) - movl 8(%esp),%eax - jmp __frexp - -frexp: - fldl 4(%esp) - movl 12(%esp),%eax -__frexp: - fxtract - fxch - fistpl (%eax) - pushl $0x3f000000 # 1/2 - fmuls (%esp) - incl (%eax) - popl %eax - ret - -frexpl: - fldt 4(%esp) - movl 16(%esp),%eax - jmp __frexp - -.global logbf,logb,logbl - .type logbf,@function - .type logb,@function - .type logbl,@function - -#logbf: flds 4(%esp) -# fxtract -# fxch -# ret - -#logb: fldl 4(%esp) -# fxtract -# fxch -# ret - -#logbl: fldt 4(%esp) -# fxtract -# fxch -# ret - -.global ilogbf,ilogb,ilogbl - .type ilogbf,@function - .type ilogb,@function - .type ilogbl,@function - -logbf: -ilogbf: flds 4(%esp) - jmp __ilogb - -logb: -ilogb: fldl 4(%esp) -__ilogb: - fxtract - pushl %eax - fxch - fistl (%esp) - popl %eax - ret - -logbl: -ilogbl: fldt 4(%esp) - jmp __ilogb - -- cgit v1.2.1