glibc/sysdeps/i386/fpu
Joseph Myers f8ba1b5654 Fix log2 (1) in round-downward mode (bug 17042).
As with other issues of this kind, bug 17042 is log2 (1) wrongly
returning -0 instead of +0 in round-downward mode because of
implementations effectively in terms of log1p (x - 1).  This patch
fixes the issue in the same way used for log and log10.

Tested x86_64 and x86 and ulps updated accordingly.  Also tested for
mips64 to confirm a fix was needed for ldbl-128 and to validate that
fix (also applied to ldbl-128ibm since that version of log2l is
essentially the same as the ldbl-128 one).

	[BZ #17042]
	* sysdeps/i386/fpu/e_log2.S (__ieee754_log2): Take absolete value
	when x - 1 is zero.
	* sysdeps/i386/fpu/e_log2f.S (__ieee754_log2f): Likewise.
	* sysdeps/i386/fpu/e_log2l.S (__ieee754_log2l): Likewise.
	* sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Return
	0.0L for an argument of 1.0L.
	* sysdeps/ieee754/ldbl-128ibm/e_log2l.c (__ieee754_log2l):
	Likewise.
	* sysdeps/x86_64/fpu/e_log2l.S (__ieee754_log2l): Take absolute
	value when x - 1 is zero.
	* math/libm-test.inc (log2_test): Use ALL_RM_TEST.
	* sysdeps/i386/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-06-10 12:07:15 +00:00
..
doasin.c
e_acos.S
e_acosf.S
e_acosh.S Fix acosh (1) in round-downward mode (bug 16927). 2014-05-14 12:35:40 +00:00
e_acoshf.S Fix acosh (1) in round-downward mode (bug 16927). 2014-05-14 12:35:40 +00:00
e_acoshl.S Fix acosh (1) in round-downward mode (bug 16927). 2014-05-14 12:35:40 +00:00
e_acosl.c
e_asin.S
e_asinf.S
e_atan2.S
e_atan2f.S
e_atan2l.c
e_atanh.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
e_atanhf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
e_atanhl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
e_exp2.S
e_exp2f.S
e_exp2l.S
e_exp10.S
e_exp10f.S
e_exp10l.S
e_exp.S
e_expf.S
e_expl.S Fix x86/x86_64 expl/exp10l spurious underflows (bug 16348). 2014-03-27 18:41:14 +00:00
e_fmod.S
e_fmodf.S
e_fmodl.c
e_hypot.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
e_hypotf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
e_ilogb.S
e_ilogbf.S
e_ilogbl.S
e_log2.S Fix log2 (1) in round-downward mode (bug 17042). 2014-06-10 12:07:15 +00:00
e_log2f.S Fix log2 (1) in round-downward mode (bug 17042). 2014-06-10 12:07:15 +00:00
e_log2l.S Fix log2 (1) in round-downward mode (bug 17042). 2014-06-10 12:07:15 +00:00
e_log10.S Fix log10 (1) in round-downward mode (bug 16977). 2014-05-23 12:07:50 +00:00
e_log10f.S Fix log10 (1) in round-downward mode (bug 16977). 2014-05-23 12:07:50 +00:00
e_log10l.S Fix log10 (1) in round-downward mode (bug 16977). 2014-05-23 12:07:50 +00:00
e_log.S Fix log (1) in round-downward mode (bug 16731). 2014-03-21 18:13:58 +00:00
e_logf.S Fix log (1) in round-downward mode (bug 16731). 2014-03-21 18:13:58 +00:00
e_logl.S Fix log (1) in round-downward mode (bug 16731). 2014-03-21 18:13:58 +00:00
e_pow.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
e_powf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
e_powl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
e_rem_pio2.c
e_remainder.S
e_remainderf.S
e_remainderl.S
e_scalb.S
e_scalbf.S
e_scalbl.S
e_sqrt.S Fix x86 sqrt rounding (bug 14032). 2013-11-29 16:31:16 +00:00
e_sqrtf.S
e_sqrtl.c
fclrexcpt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fedisblxcpt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
feenablxcpt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fegetenv.c Include SSE state in i386 fenv_t (bug 16064). 2014-05-09 16:59:56 +00:00
fegetexcept.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fegetround.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
feholdexcpt.c Include SSE state in i386 fenv_t (bug 16064). 2014-05-09 16:59:56 +00:00
fenv_private.h Set/restore rounding mode only when needed 2013-06-12 10:36:48 +05:30
fesetenv.c Include SSE state in i386 fenv_t (bug 16064). 2014-05-09 16:59:56 +00:00
fesetround.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
feupdateenv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fgetexcptflg.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fraiseexcpt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fsetexcptflg.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ftestexcept.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
halfulp.c
Implies
k_rem_pio2l.c
libm-test-ulps Fix log2 (1) in round-downward mode (bug 17042). 2014-06-10 12:07:15 +00:00
math_private.h
math-tests.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mpatan2.c
mpatan.c
mpexp.c
mplog.c
mpsqrt.c
s_asinh.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_asinhf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_asinhl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_atan.S
s_atanf.S
s_atanl.c
s_cbrt.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_cbrtf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_cbrtl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_ceil.S
s_ceilf.S
s_ceill.S
s_copysign.S
s_copysignf.S
s_copysignl.S
s_expm1.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_expm1f.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_expm1l.S
s_fabs.S
s_fabsf.S
s_fabsl.S
s_fdim.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fdimf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fdiml.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_finite.S
s_finitef.S
s_finitel.S
s_floor.S
s_floorf.S
s_floorl.S
s_fmax.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fmaxf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fmaxl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fmin.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fminf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fminl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fpclassifyl.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_frexp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_frexpf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_frexpl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_isinfl.c
s_isnanl.c
s_llrint.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_llrintf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_llrintl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_log1p.S
s_log1pf.S
s_log1pl.S Fix log1pl (LDBL_MAX) in FE_UPWARD mode (bug 16564). 2014-05-14 12:38:56 +00:00
s_logb.S
s_logbf.S
s_logbl.c
s_lrint.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_lrintf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_lrintl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_nearbyint.S
s_nearbyintf.S
s_nearbyintl.S
s_nextafterl.c Fix nextafter overflow in non-default rounding modes (bug 16677). 2014-03-11 22:24:00 +00:00
s_nexttoward.c
s_nexttowardf.c
s_remquo.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
s_remquof.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
s_remquol.S Remove remaining bounded-pointers support from i386 .S files. 2013-02-21 22:21:52 +00:00
s_rint.S
s_rintf.S
s_rintl.c
s_scalbln.c
s_scalblnf.c
s_scalblnl.c
s_scalbn.S
s_scalbnf.S
s_scalbnl.S
s_significand.S
s_significandf.S
s_significandl.c
s_trunc.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_truncf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_truncl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
slowexp.c
slowpow.c
t_exp.c
Versions
w_sqrt.c Fix x86 sqrt rounding (bug 14032). 2013-11-29 16:31:16 +00:00