glibc/sysdeps/x86_64/fpu/multiarch
Joseph Myers 51df260506 Fix x86_64 fma4 pow inappropriate contraction (bug 19003).
The x86_64 fma4 version of pow fails to disable contraction of
operations other than those explicitly intended to use fma
instructions, so resulting in large ulps errors on processors with
fma4 instructions, as in bug 18104 (165ulp for the test added for that
bug; error originally reported by "blaaa" on #glibc).  This patch adds
$(config-cflags-nofma) for e_pow-fma4.c, corresponding to the use for
e_pow.c in sysdeps/ieee754/dbl-64/Makefile.

Tested for x86_64 on a processor with fma4.

	[BZ #19003]
	* sysdeps/x86_64/fpu/multiarch/Makefile (CFLAGS-e_pow-fma4.c): Add
	$(config-cflags-nofma).
2015-09-24 16:48:32 +00:00
..
doasin-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
dosincos-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
e_asin-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
e_asin.c Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
e_atan2-avx.c Remove code without too much effects 2011-10-28 16:55:01 -04:00
e_atan2-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
e_atan2.c Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
e_exp-avx.c Add AVX optimized versions for some x86-64 math functions 2011-10-25 21:34:55 -04:00
e_exp-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
e_exp.c Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
e_log-avx.c Add AVX optimized versions for some x86-64 math functions 2011-10-25 21:34:55 -04:00
e_log-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
e_log.c Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
e_pow-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
e_pow.c Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
halfulp-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
Makefile Fix x86_64 fma4 pow inappropriate contraction (bug 19003). 2015-09-24 16:48:32 +00:00
mpa-avx.c New __sqr function as a faster special case of __mul 2013-02-14 10:31:09 +05:30
mpa-fma4.c New __sqr function as a faster special case of __mul 2013-02-14 10:31:09 +05:30
mpatan2-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
mpatan-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
mpexp-avx.c Add AVX optimized versions for some x86-64 math functions 2011-10-25 21:34:55 -04:00
mpexp-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
mplog-avx.c Add AVX optimized versions for some x86-64 math functions 2011-10-25 21:34:55 -04:00
mplog-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
mpsqrt-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
mptan-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
s_atan-avx.c Remove code without too much effects 2011-10-28 16:55:01 -04:00
s_atan-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
s_atan.c Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
s_ceil-c.c
s_ceil.S Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
s_ceilf-c.c
s_ceilf.S Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
s_floor-c.c Provide internal optimizations on x86-64 with SSE4.1 2011-10-17 11:23:40 -04:00
s_floor.S Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
s_floorf-c.c Provide internal optimizations on x86-64 with SSE4.1 2011-10-17 11:23:40 -04:00
s_floorf.S Remove incorrect register mov in floorf/nearbyint on x86_64 2015-08-14 05:30:17 -07:00
s_fma.c Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
s_fmaf.c Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
s_nearbyint-c.c Add optimized nearbyint{,f} for x86-64 2011-10-18 09:13:23 -04:00
s_nearbyint.S Remove incorrect register mov in floorf/nearbyint on x86_64 2015-08-14 05:30:17 -07:00
s_nearbyintf-c.c Add optimized nearbyint{,f} for x86-64 2011-10-18 09:13:23 -04:00
s_nearbyintf.S Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
s_rint-c.c Provide internal optimizations on x86-64 with SSE4.1 2011-10-17 11:23:40 -04:00
s_rint.S Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
s_rintf-c.c Provide internal optimizations on x86-64 with SSE4.1 2011-10-17 11:23:40 -04:00
s_rintf.S Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
s_sin-avx.c Remove code without too much effects 2011-10-28 16:55:01 -04:00
s_sin-fma4.c Disable use of FMA instructions in branred 2012-03-21 23:58:50 +01:00
s_sin.c Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
s_tan-avx.c Remove code without too much effects 2011-10-28 16:55:01 -04:00
s_tan-fma4.c Disable use of FMA instructions in branred 2012-03-21 23:58:50 +01:00
s_tan.c Update x86_64 multiarch functions for <cpu-features.h> 2015-08-13 03:41:30 -07:00
sincos32-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
slowexp-avx.c Add AVX optimized versions for some x86-64 math functions 2011-10-25 21:34:55 -04:00
slowexp-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
slowpow-fma4.c Cleanup FMA4 patch 2011-10-25 00:56:33 -04:00
svml_d_cos2_core_sse4.S Combination of data tables for x86_64 vector functions sin, cos and sincos. 2015-06-23 19:21:50 +03:00
svml_d_cos2_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_cos4_core_avx2.S Combination of data tables for x86_64 vector functions sin, cos and sincos. 2015-06-23 19:21:50 +03:00
svml_d_cos4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_cos8_core_avx512.S Combination of data tables for x86_64 vector functions sin, cos and sincos. 2015-06-23 19:21:50 +03:00
svml_d_cos8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_exp2_core_sse4.S Vector exp for x86_64 and tests. 2015-06-17 15:58:05 +03:00
svml_d_exp2_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_exp4_core_avx2.S Vector exp for x86_64 and tests. 2015-06-17 15:58:05 +03:00
svml_d_exp4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_exp8_core_avx512.S Vector exp for x86_64 and tests. 2015-06-17 15:58:05 +03:00
svml_d_exp8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_log2_core_sse4.S Vector log for x86_64 and tests. 2015-06-17 15:38:29 +03:00
svml_d_log2_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_log4_core_avx2.S Vector log for x86_64 and tests. 2015-06-17 15:38:29 +03:00
svml_d_log4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_log8_core_avx512.S Vector log for x86_64 and tests. 2015-06-17 15:38:29 +03:00
svml_d_log8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_pow2_core_sse4.S Vector pow for x86_64 and tests. 2015-06-17 16:22:26 +03:00
svml_d_pow2_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_pow4_core_avx2.S Vector pow for x86_64 and tests. 2015-06-17 16:22:26 +03:00
svml_d_pow4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_pow8_core_avx512.S Vector pow for x86_64 and tests. 2015-06-17 16:22:26 +03:00
svml_d_pow8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_sin2_core_sse4.S Combination of data tables for x86_64 vector functions sin, cos and sincos. 2015-06-23 19:21:50 +03:00
svml_d_sin2_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_sin4_core_avx2.S Combination of data tables for x86_64 vector functions sin, cos and sincos. 2015-06-23 19:21:50 +03:00
svml_d_sin4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_sin8_core_avx512.S Combination of data tables for x86_64 vector functions sin, cos and sincos. 2015-06-23 19:21:50 +03:00
svml_d_sin8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_sincos2_core_sse4.S Combination of data tables for x86_64 vector functions sin, cos and sincos. 2015-06-23 19:21:50 +03:00
svml_d_sincos2_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_sincos4_core_avx2.S Combination of data tables for x86_64 vector functions sin, cos and sincos. 2015-06-23 19:21:50 +03:00
svml_d_sincos4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_d_sincos8_core_avx512.S Combination of data tables for x86_64 vector functions sin, cos and sincos. 2015-06-23 19:21:50 +03:00
svml_d_sincos8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_cosf4_core_sse4.S Combination of data tables for x86_64 vector functions sinf, cosf and sincosf. 2015-06-24 17:44:35 +03:00
svml_s_cosf4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_cosf8_core_avx2.S Combination of data tables for x86_64 vector functions sinf, cosf and sincosf. 2015-06-24 17:44:35 +03:00
svml_s_cosf8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_cosf16_core_avx512.S Combination of data tables for x86_64 vector functions sinf, cosf and sincosf. 2015-06-24 17:44:35 +03:00
svml_s_cosf16_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_expf4_core_sse4.S Vector expf for x86_64 and tests. 2015-06-17 16:10:51 +03:00
svml_s_expf4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_expf8_core_avx2.S Vector expf for x86_64 and tests. 2015-06-17 16:10:51 +03:00
svml_s_expf8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_expf16_core_avx512.S Fixed several libmvec bugs found during testing on KNL hardware. 2015-07-24 14:47:23 +03:00
svml_s_expf16_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_logf4_core_sse4.S Vector logf for x86_64 and tests. 2015-06-17 15:53:00 +03:00
svml_s_logf4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_logf8_core_avx2.S Vector logf for x86_64 and tests. 2015-06-17 15:53:00 +03:00
svml_s_logf8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_logf16_core_avx512.S Vector logf for x86_64 and tests. 2015-06-17 15:53:00 +03:00
svml_s_logf16_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_powf4_core_sse4.S Vector powf for x86_64 and tests. 2015-06-18 17:04:07 +03:00
svml_s_powf4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_powf8_core_avx2.S Vector powf for x86_64 and tests. 2015-06-18 17:04:07 +03:00
svml_s_powf8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_powf16_core_avx512.S Vector powf for x86_64 and tests. 2015-06-18 17:04:07 +03:00
svml_s_powf16_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_sincosf4_core_sse4.S Combination of data tables for x86_64 vector functions sinf, cosf and sincosf. 2015-06-24 17:44:35 +03:00
svml_s_sincosf4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_sincosf8_core_avx2.S Combination of data tables for x86_64 vector functions sinf, cosf and sincosf. 2015-06-24 17:44:35 +03:00
svml_s_sincosf8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_sincosf16_core_avx512.S Combination of data tables for x86_64 vector functions sinf, cosf and sincosf. 2015-06-24 17:44:35 +03:00
svml_s_sincosf16_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_sinf4_core_sse4.S Combination of data tables for x86_64 vector functions sinf, cosf and sincosf. 2015-06-24 17:44:35 +03:00
svml_s_sinf4_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_sinf8_core_avx2.S Combination of data tables for x86_64 vector functions sinf, cosf and sincosf. 2015-06-24 17:44:35 +03:00
svml_s_sinf8_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00
svml_s_sinf16_core_avx512.S Combination of data tables for x86_64 vector functions sinf, cosf and sincosf. 2015-06-24 17:44:35 +03:00
svml_s_sinf16_core.S Update libmvec multiarch functions for <cpu-features.h> 2015-08-13 03:41:47 -07:00