diff options
Diffstat (limited to 'libc/sysdeps/ieee754')
-rw-r--r-- | libc/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c | 2 | ||||
-rw-r--r-- | libc/sysdeps/ieee754/ldbl-128ibm/e_powl.c | 14 | ||||
-rw-r--r-- | libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c | 3 | ||||
-rw-r--r-- | libc/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c | 3 | ||||
-rw-r--r-- | libc/sysdeps/ieee754/ldbl-128ibm/s_logbl.c | 3 | ||||
-rw-r--r-- | libc/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c | 3 | ||||
-rw-r--r-- | libc/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c | 1 | ||||
-rw-r--r-- | libc/sysdeps/ieee754/ldbl-opt/Makefile | 99 |
8 files changed, 116 insertions, 12 deletions
diff --git a/libc/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c b/libc/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c index 075855b5f..f35182f03 100644 --- a/libc/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c +++ b/libc/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c @@ -40,7 +40,7 @@ __ieee754_atanhl(long double x) { long double t; int64_t hx,ix; - u_int64_t lx; + u_int64_t lx __attribute__ ((unused)); GET_LDOUBLE_WORDS64(hx,lx,x); ix = hx&0x7fffffffffffffffLL; if (ix >= 0x3ff0000000000000LL) { /* |x|>=1 */ diff --git a/libc/sysdeps/ieee754/ldbl-128ibm/e_powl.c b/libc/sysdeps/ieee754/ldbl-128ibm/e_powl.c index 8216c4906..8bd35d0c8 100644 --- a/libc/sysdeps/ieee754/ldbl-128ibm/e_powl.c +++ b/libc/sysdeps/ieee754/ldbl-128ibm/e_powl.c @@ -324,13 +324,13 @@ __ieee754_powl (long double x, long double y) o.value = s_h; o.parts32.w3 = 0; - o.parts32.w2 &= 0xffff8000; + o.parts32.w2 = 0; s_h = o.value; /* t_h=ax+bp[k] High */ t_h = ax + bp[k]; o.value = t_h; o.parts32.w3 = 0; - o.parts32.w2 &= 0xffff8000; + o.parts32.w2 = 0; t_h = o.value; t_l = ax - (t_h - bp[k]); s_l = v * ((u - s_h * t_h) - s_h * t_l); @@ -344,7 +344,7 @@ __ieee754_powl (long double x, long double y) t_h = 3.0 + s2 + r; o.value = t_h; o.parts32.w3 = 0; - o.parts32.w2 &= 0xffff8000; + o.parts32.w2 = 0; t_h = o.value; t_l = r - ((t_h - 3.0) - s2); /* u+v = s*(1+...) */ @@ -354,7 +354,7 @@ __ieee754_powl (long double x, long double y) p_h = u + v; o.value = p_h; o.parts32.w3 = 0; - o.parts32.w2 &= 0xffff8000; + o.parts32.w2 = 0; p_h = o.value; p_l = v - (p_h - u); z_h = cp_h * p_h; /* cp_h+cp_l = 2/(3*log2) */ @@ -364,7 +364,7 @@ __ieee754_powl (long double x, long double y) t1 = (((z_h + z_l) + dp_h[k]) + t); o.value = t1; o.parts32.w3 = 0; - o.parts32.w2 &= 0xffff8000; + o.parts32.w2 = 0; t1 = o.value; t2 = z_l - (((t1 - t) - dp_h[k]) - z_h); @@ -377,7 +377,7 @@ __ieee754_powl (long double x, long double y) y1 = y; o.value = y1; o.parts32.w3 = 0; - o.parts32.w2 &= 0xffff8000; + o.parts32.w2 = 0; y1 = o.value; p_l = (y - y1) * t1 + y * t2; p_h = y1 * t1; @@ -421,7 +421,7 @@ __ieee754_powl (long double x, long double y) t = p_l + p_h; o.value = t; o.parts32.w3 = 0; - o.parts32.w2 &= 0xffff8000; + o.parts32.w2 = 0; t = o.value; u = t * lg2_h; v = (p_l - (t - p_h)) * lg2 + t * lg2_l; diff --git a/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c b/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c index 5352de945..a3d141de3 100644 --- a/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c +++ b/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c @@ -200,7 +200,8 @@ int32_t __ieee754_rem_pio2l(long double x, long double *y) double tx[8]; int exp; int64_t n, ix, hx, ixd; - u_int64_t lx, lxd; + u_int64_t lx __attribute__ ((unused)); + u_int64_t lxd; GET_LDOUBLE_WORDS64 (hx, lx, x); ix = hx & 0x7fffffffffffffffLL; diff --git a/libc/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c b/libc/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c index d448d604a..aa4eb7132 100644 --- a/libc/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c +++ b/libc/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c @@ -29,7 +29,8 @@ static char rcsid[] = "$NetBSD: $"; int ___isnanl (long double x) { - int64_t hx,lx; + int64_t hx; + int64_t lx __attribute__ ((unused)); GET_LDOUBLE_WORDS64(hx,lx,x); hx &= 0x7fffffffffffffffLL; hx = 0x7ff0000000000000LL - hx; diff --git a/libc/sysdeps/ieee754/ldbl-128ibm/s_logbl.c b/libc/sysdeps/ieee754/ldbl-128ibm/s_logbl.c index 92ce2c189..6cbfcfa1c 100644 --- a/libc/sysdeps/ieee754/ldbl-128ibm/s_logbl.c +++ b/libc/sysdeps/ieee754/ldbl-128ibm/s_logbl.c @@ -26,7 +26,8 @@ long double __logbl (long double x) { - int64_t lx, hx, rhx; + int64_t hx, rhx; + int64_t lx __attribute__ ((unused)); GET_LDOUBLE_WORDS64 (hx, lx, x); hx &= 0x7fffffffffffffffLL; /* high |x| */ diff --git a/libc/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c b/libc/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c index 994e287c9..ff5d7d32b 100644 --- a/libc/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c +++ b/libc/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c @@ -31,7 +31,8 @@ static char rcsid[] = "$NetBSD: $"; long double __nextafterl(long double x, long double y) { int64_t hx,hy,ihx,ihy,ilx; - u_int64_t lx,ly; + u_int64_t lx; + u_int64_t ly __attribute__ ((unused)); GET_LDOUBLE_WORDS64(hx,lx,x); GET_LDOUBLE_WORDS64(hy,ly,y); diff --git a/libc/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c b/libc/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c index 4379b68c3..9631b07a5 100644 --- a/libc/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c +++ b/libc/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c @@ -19,6 +19,7 @@ #include <math.h> #include <math_private.h> #include <float.h> +#include <stdlib.h> /* Calculate X + Y exactly and store the result in *HI + *LO. It is given that |X| >= |Y| and the values are small enough that no diff --git a/libc/sysdeps/ieee754/ldbl-opt/Makefile b/libc/sysdeps/ieee754/ldbl-opt/Makefile index d73d328b2..45093571c 100644 --- a/libc/sysdeps/ieee754/ldbl-opt/Makefile +++ b/libc/sysdeps/ieee754/ldbl-opt/Makefile @@ -51,4 +51,103 @@ libnldbl-inhibit-o = $(object-suffixes) libnldbl-static-only-routines = $(libnldbl-routines) extra-objs += $(addsuffix .oS, $(libnldbl-routines)) +CFLAGS-nldbl-acos.c = -fno-builtin-acosl +CFLAGS-nldbl-acosh.c = -fno-builtin-acoshl +CFLAGS-nldbl-asin.c = -fno-builtin-asinl +CFLAGS-nldbl-asinh.c = -fno-builtin-asinhl +CFLAGS-nldbl-atan.c = -fno-builtin-atanl +CFLAGS-nldbl-atan2.c = -fno-builtin-atan2l +CFLAGS-nldbl-atanh.c = -fno-builtin-atanhl +CFLAGS-nldbl-cabs.c = -fno-builtin-cabsl +CFLAGS-nldbl-cacos.c = -fno-builtin-cacosl +CFLAGS-nldbl-cacosh.c = -fno-builtin-cacoshl +CFLAGS-nldbl-carg.c = -fno-builtin-cargl +CFLAGS-nldbl-casin.c = -fno-builtin-casinl +CFLAGS-nldbl-casinh.c = -fno-builtin-casinhl +CFLAGS-nldbl-catan.c = -fno-builtin-catanl +CFLAGS-nldbl-catanh.c = -fno-builtin-catanhl +CFLAGS-nldbl-cbrt.c = -fno-builtin-cbrtl +CFLAGS-nldbl-ccos.c = -fno-builtin-ccosl +CFLAGS-nldbl-ccosh.c = -fno-builtin-ccoshl +CFLAGS-nldbl-ceil.c = -fno-builtin-ceill +CFLAGS-nldbl-cexp.c = -fno-builtin-cexpl +CFLAGS-nldbl-cimag.c = -fno-builtin-cimagl +CFLAGS-nldbl-clog.c = -fno-builtin-clogl +CFLAGS-nldbl-clog10.c = -fno-builtin-clog10l +CFLAGS-nldbl-conj.c = -fno-builtin-conjl +CFLAGS-nldbl-copysign.c = -fno-builtin-copysignl +CFLAGS-nldbl-cos.c = -fno-builtin-cosl +CFLAGS-nldbl-cosh.c = -fno-builtin-coshl +CFLAGS-nldbl-cpow.c = -fno-builtin-cpowl +CFLAGS-nldbl-cproj.c = -fno-builtin-cprojl +CFLAGS-nldbl-creal.c = -fno-builtin-creall +CFLAGS-nldbl-csin.c = -fno-builtin-csinl +CFLAGS-nldbl-csinh.c = -fno-builtin-csinhl +CFLAGS-nldbl-csqrt.c = -fno-builtin-csqrtl +CFLAGS-nldbl-ctan.c = -fno-builtin-ctanl +CFLAGS-nldbl-ctanh.c = -fno-builtin-ctanhl +CFLAGS-nldbl-drem.c = -fno-builtin-dreml +CFLAGS-nldbl-erf.c = -fno-builtin-erfl +CFLAGS-nldbl-erfc.c = -fno-builtin-erfcl +CFLAGS-nldbl-exp.c = -fno-builtin-expl +CFLAGS-nldbl-exp10.c = -fno-builtin-exp10l +CFLAGS-nldbl-exp2.c = -fno-builtin-exp2l +CFLAGS-nldbl-expm1.c = -fno-builtin-expm1l +CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl +CFLAGS-nldbl-fdim.c = -fno-builtin-fdiml +CFLAGS-nldbl-finite.c = -fno-builtin-finitel +CFLAGS-nldbl-floor.c = -fno-builtin-floorl +CFLAGS-nldbl-fma.c = -fno-builtin-fmal +CFLAGS-nldbl-fmax.c = -fno-builtin-fmaxl +CFLAGS-nldbl-fmin.c = -fno-builtin-fminl +CFLAGS-nldbl-fmod.c = -fno-builtin-fmodl +CFLAGS-nldbl-frexp.c = -fno-builtin-frexpl +CFLAGS-nldbl-gamma.c = -fno-builtin-gammal +CFLAGS-nldbl-hypot.c = -fno-builtin-hypotl +CFLAGS-nldbl-ilogb.c = -fno-builtin-ilogbl +CFLAGS-nldbl-isinf.c = -fno-builtin-isinfl +CFLAGS-nldbl-isnan.c = -fno-builtin-isnanl +CFLAGS-nldbl-j0.c = -fno-builtin-j0l +CFLAGS-nldbl-j1.c = -fno-builtin-j1l +CFLAGS-nldbl-jn.c = -fno-builtin-jnl +CFLAGS-nldbl-ldexp.c = -fno-builtin-ldexpl +CFLAGS-nldbl-lgamma.c = -fno-builtin-lgammal +CFLAGS-nldbl-lgamma_r.c = -fno-builtin-lgammal_r +CFLAGS-nldbl-llrint.c = -fno-builtin-llrintl +CFLAGS-nldbl-llround.c = -fno-builtin-llroundl +CFLAGS-nldbl-log.c = -fno-builtin-logl +CFLAGS-nldbl-log10.c = -fno-builtin-log10l +CFLAGS-nldbl-log1p.c = -fno-builtin-log1pl +CFLAGS-nldbl-log2.c = -fno-builtin-log2l +CFLAGS-nldbl-logb.c = -fno-builtin-logbl +CFLAGS-nldbl-lrint.c = -fno-builtin-lrintl +CFLAGS-nldbl-lround.c = -fno-builtin-lroundl +CFLAGS-nldbl-modf.c = -fno-builtin-modfl +CFLAGS-nldbl-nan.c = -fno-builtin-nanl +CFLAGS-nldbl-nearbyint.c = -fno-builtin-nearbyintl +CFLAGS-nldbl-nextafter.c = -fno-builtin-nextafterl +CFLAGS-nldbl-nexttoward.c = -fno-builtin-nexttoward -fno-builtin-nexttowardl +CFLAGS-nldbl-nexttowardf.c = -fno-builtin-nexttowardf +CFLAGS-nldbl-pow.c = -fno-builtin-powl +CFLAGS-nldbl-pow10.c = -fno-builtin-pow10l +CFLAGS-nldbl-remainder.c = -fno-builtin-remainderl +CFLAGS-nldbl-remquo.c = -fno-builtin-remquol +CFLAGS-nldbl-rint.c = -fno-builtin-rintl +CFLAGS-nldbl-round.c = -fno-builtin-roundl +CFLAGS-nldbl-scalb.c = -fno-builtin-scalbl +CFLAGS-nldbl-scalbln.c = -fno-builtin-scalblnl +CFLAGS-nldbl-scalbn.c = -fno-builtin-scalbnl +CFLAGS-nldbl-significand.c = -fno-builtin-significandl +CFLAGS-nldbl-sin.c = -fno-builtin-sinl +CFLAGS-nldbl-sincos.c = -fno-builtin-sincosl +CFLAGS-nldbl-sinh.c = -fno-builtin-sinhl +CFLAGS-nldbl-sqrt.c = -fno-builtin-sqrtl +CFLAGS-nldbl-tan.c = -fno-builtin-tanl +CFLAGS-nldbl-tanh.c = -fno-builtin-tanhl +CFLAGS-nldbl-tgamma.c = -fno-builtin-tgammal +CFLAGS-nldbl-trunc.c = -fno-builtin-truncl +CFLAGS-nldbl-y0.c = -fno-builtin-y0l +CFLAGS-nldbl-y1.c = -fno-builtin-y1l +CFLAGS-nldbl-yn.c = -fno-builtin-ynl + endif |