glibc/sysdeps/x86_64/fpu
Joseph Myers c898991d8b Fix x86_64 / x86 powl inaccuracy for integer exponents (bug 19848).
Bug 19848 reports cases where powl on x86 / x86_64 has error
accumulation, for small integer exponents, larger than permitted by
glibc's accuracy goals, at least in some rounding modes.  This patch
further restricts the exponent range for which the
small-integer-exponent logic is used to limit the possible error
accumulation.

Tested for x86_64 and x86 and ulps updated accordingly.

	[BZ #19848]
	* sysdeps/i386/fpu/e_powl.S (p3): Rename to p2 and change value
	from 8 to 4.
	(__ieee754_powl): Compare integer exponent against 4 not 8.
	* sysdeps/x86_64/fpu/e_powl.S (p3): Rename to p2 and change value
	from 8 to 4.
	(__ieee754_powl): Compare integer exponent against 4 not 8.
	* math/auto-libm-test-in: Add more tests of pow.
	* math/auto-libm-test-out: Regenerated.
	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2016-03-24 01:32:52 +00:00
..
multiarch Use JUMPTARGET in x86-64 mathvec 2016-03-16 14:24:19 -07:00
dla.h Remove x86_64 __GNUC_PREREQ (4, 6) conditional. 2014-11-14 18:53:07 +00:00
e_acosl.c
e_atan2l.c
e_exp2l.S Refactor x86_64 libm code forcing underflow exceptions. 2015-09-24 22:25:30 +00:00
e_exp10l.S Fix exp10 inaccuracy and exceptions (bugs 13884, 13914). 2012-05-06 18:23:44 +00:00
e_expf.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_expl.S Refactor x86_64 libm code forcing underflow exceptions. 2015-09-24 22:25:30 +00:00
e_fmodl.S Optimize libm 2011-10-12 11:27:51 -04:00
e_ilogbl.S Remove useless __ilogb*_finite aliases 2012-04-18 00:40:13 +02:00
e_log2l.S Fix i386/x86_64 log* (1) zero sign for -ffinite-math-only (bug 19213). 2015-11-05 21:56:31 +00:00
e_log10l.S Fix i386/x86_64 log* (1) zero sign for -ffinite-math-only (bug 19213). 2015-11-05 21:56:31 +00:00
e_logl.S Fix i386/x86_64 log* (1) zero sign for -ffinite-math-only (bug 19213). 2015-11-05 21:56:31 +00:00
e_powl.S Fix x86_64 / x86 powl inaccuracy for integer exponents (bug 19848). 2016-03-24 01:32:52 +00:00
e_remainderl.S Optimize libm 2011-10-12 11:27:51 -04:00
e_scalbl.S Fix x86/x86_64 scalb (qNaN, -Inf) (bug 16783). 2015-02-24 17:30:02 +00:00
e_sqrt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_sqrtf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_sqrtl.c
fclrexcpt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fedisblxcpt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
feenablxcpt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fegetenv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fegetexcept.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fegetround.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
feholdexcpt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fesetenv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fesetround.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
feupdateenv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fgetexcptflg.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fraiseexcpt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fsetexcptflg.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ftestexcept.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Implies Use x86_64 fpu/bits/fenv.h for i386 and x86_64 2012-06-06 10:13:19 -07:00
k_rem_pio2l.c Dummy files to prevent stub versions from being used. 2007-05-17 18:39:55 +00:00
libm-test-ulps Fix x86_64 / x86 powl inaccuracy for integer exponents (bug 19848). 2016-03-24 01:32:52 +00:00
Makefile Better workaround for aliases of *_finite symbols in vector math library. 2015-11-27 16:22:26 +03:00
math_ldbl.h
math_private.h Use movq for 64-bit operations 2013-05-15 20:33:45 +02:00
math-tests-arch.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
printf_fphex.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_atanl.c
s_ceill.S Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
s_copysign.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_copysignf.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_copysignl.S
s_cosf.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_expm1l.S Fix x86/x86_64 expm1l inaccuracy and exceptions (bugs 13885, 13923). 2012-05-07 19:13:08 +00:00
s_fabs.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fabsf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fabsl.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fdiml.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_finitel.S
s_floorl.S
s_fmax.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fmaxf.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fmaxl.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fmin.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fminf.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fminl.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fpclassifyl.c
s_isinfl.c
s_isnanl.c
s_llrint.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_llrintf.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_llrintl.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_log1pl.S Set errno for log1p on pole/domain error. 2015-04-13 21:19:27 +02:00
s_logbl.c
s_lrint.S
s_lrintf.S
s_lrintl.S
s_nearbyintl.S Fix i386 / x86_64 nearbyint exception clearing (bug 15491). 2015-10-22 23:14:55 +00:00
s_nextafterl.c
s_nexttoward.c
s_nexttowardf.c
s_rintl.c
s_scalbnl.S Make scalbn set errno (bug 6803). 2015-09-16 21:11:00 +00:00
s_signbit.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_signbitf.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_significandl.c
s_sincosf.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_sinf.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_truncl.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_cos2_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_cos4_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_cos4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_cos8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_exp2_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_exp4_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_exp4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_exp8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_exp_data.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_exp_data.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_log2_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_log4_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_log4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_log8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_log_data.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_log_data.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_pow2_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_pow4_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_pow4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_pow8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_pow_data.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_pow_data.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_sin2_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_sin4_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_sin4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_sin8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_sincos2_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_sincos4_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_sincos4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_sincos8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_trig_data.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_trig_data.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_d_wrapper_impl.h Use JUMPTARGET in x86-64 mathvec 2016-03-16 14:24:19 -07:00
svml_finite_alias.S Use PIC relocation in ALIAS_IMPL 2016-02-17 14:23:32 -08:00
svml_s_cosf4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_cosf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_cosf8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_cosf16_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_expf4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_expf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_expf8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_expf16_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_expf_data.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_expf_data.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_logf4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_logf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_logf8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_logf16_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_logf_data.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_logf_data.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_powf4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_powf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_powf8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_powf16_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_powf_data.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_powf_data.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_sincosf4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_sincosf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_sincosf8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_sincosf16_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_sinf4_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_sinf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_sinf8_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_sinf16_core.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_trig_data.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_trig_data.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
svml_s_wrapper_impl.h Use JUMPTARGET in x86-64 mathvec 2016-03-16 14:24:19 -07:00
test-double-vlen2-wrappers.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-double-vlen2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-double-vlen4-avx2-wrappers.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-double-vlen4-avx2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-double-vlen4-wrappers.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-double-vlen4.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-double-vlen8-wrappers.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-double-vlen8.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-float-vlen4-wrappers.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-float-vlen4.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-float-vlen8-avx2-wrappers.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-float-vlen8-avx2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-float-vlen8-wrappers.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-float-vlen8.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-float-vlen16-wrappers.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-float-vlen16.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Versions Vector sincosf for x86_64 and tests. 2015-06-18 20:11:27 +03:00
x86_64-math-asm.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00