glibc/sysdeps/x86_64/fpu
H.J. Lu 80bb593563 x86-64: Add powf with FMA
For workload-spec2017.wrf, on Skylake, it improves performance by:

                           Before            After     Improvement
reciprocal-throughput      35.4713          27.3842       29%
latency                    82.4537          66.3175       24%

	* sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
	Add e_powf-fma.
	(CFLAGS-e_powf-fma.c): New.
	* sysdeps/x86_64/fpu/multiarch/e_powf-fma.c: New file.
	* sysdeps/x86_64/fpu/multiarch/e_powf.c: Likewise.
2017-10-22 08:08:00 -07:00
..
multiarch x86-64: Add powf with FMA 2017-10-22 08:08:00 -07: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
e_expl.S Fix i386/x86_64 expl, exp10l, expm1l for sNaN input (bug 20226). 2016-06-08 21:55:06 +00:00
e_fmodl.S
e_ilogbl.S
e_log2l.S Fix i386/x86_64 log2l (sNaN) (bug 20235). 2016-06-09 18:04:30 +00:00
e_log10l.S Fix i386/x86_64 log10l (sNaN) (bug 20228). 2016-06-08 22:59:18 +00:00
e_logl.S Fix i386/x86_64 logl (sNaN) (bug 20227). 2016-06-08 22:24:06 +00:00
e_powl.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_remainderl.S
e_scalbl.S Fix i386/x86_64 scalbl with sNaN input (bug 20296). 2016-06-23 22:17:41 +00:00
e_sqrt.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_sqrtf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_sqrtl.c
fclrexcpt.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fedisblxcpt.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
feenablxcpt.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fegetenv.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fegetexcept.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fegetmode.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fegetround.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
feholdexcpt.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fesetenv.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fesetexcept.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fesetmode.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fesetround.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
feupdateenv.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fgetexcptflg.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fraiseexcpt.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fsetexcptflg.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ftestexcept.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Implies
libm-test-ulps x86-64: Replace assembly versions of e_expf with generic e_expf.c 2017-10-22 07:49:55 -07:00
libm-test-ulps-name Do not hardcode platform names in manual/libm-err-tab.pl (bug 14139). 2016-11-04 16:49:06 +00:00
Makefile Suppress internal declarations for most of the testsuite. 2017-05-11 19:27:59 -04:00
math_ldbl.h Allow direct use of math_ldbl.h in testsuite. 2017-02-25 10:40:48 -05:00
math_private.h
math-tests-arch.h Suppress internal declarations for most of the testsuite. 2017-05-11 19:27:59 -04:00
printf_fphex.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_atanl.c
s_ceill.S Avoid "inexact" exceptions in i386/x86_64 ceil functions (bug 15479). 2016-06-27 17:24:30 +00:00
s_copysign.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_copysignf.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_copysignl.S
s_cosf.S Remove __need macros from errno.h (__need_Emath, __need_error_t). 2017-06-14 08:14:34 -04:00
s_expm1l.S
s_fabs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_fabsf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_fabsl.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_finitel.S
s_floorl.S Avoid "inexact" exceptions in i386/x86_64 floor functions (bug 15479). 2016-06-27 17:25:47 +00:00
s_fmax.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_fmaxf.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_fmaxl.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_fmin.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_fminf.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_fminl.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_fpclassifyl.c
s_isinfl.c
s_isnanl.c
s_llrint.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_llrintf.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_llrintl.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_log1pl.S Fix i386/x86_64 log1pl (sNaN) (bug 20229). 2016-06-08 23:11:42 +00:00
s_logbl.c
s_lrint.S
s_lrintf.S
s_lrintl.S
s_nearbyintl.S Simplify x86 nearbyint functions. 2016-06-22 15:40:30 +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. 2017-01-01 00:14:16 +00:00
s_signbitf.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_significandl.c
s_sincosf.S Remove __need macros from errno.h (__need_Emath, __need_error_t). 2017-06-14 08:14:34 -04:00
s_sinf.S Remove __need macros from errno.h (__need_Emath, __need_error_t). 2017-06-14 08:14:34 -04:00
s_truncl.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_cos2_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_cos4_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_cos4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_cos8_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_exp2_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_exp4_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_exp4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_exp8_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_exp_data.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_exp_data.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_log2_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_log4_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_log4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_log8_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_log_data.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_log_data.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_pow2_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_pow4_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_pow4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_pow8_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_pow_data.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_pow_data.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_sin2_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_sin4_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_sin4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_sin8_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_sincos2_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_sincos4_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_sincos4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_sincos8_core.S x86_64: Replace AVX512F .byte sequences with instructions 2017-08-23 06:26:44 -07:00
svml_d_trig_data.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_trig_data.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_d_wrapper_impl.h x86_64: Replace AVX512F .byte sequences with instructions 2017-08-23 06:26:44 -07:00
svml_finite_alias.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_cosf4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_cosf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_cosf8_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_cosf16_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_expf4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_expf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_expf8_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_expf16_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_expf_data.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_expf_data.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_logf4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_logf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_logf8_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_logf16_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_logf_data.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_logf_data.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_powf4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_powf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_powf8_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_powf16_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_powf_data.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_powf_data.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_sincosf4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_sincosf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_sincosf8_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_sincosf16_core.S x86_64: Replace AVX512F .byte sequences with instructions 2017-08-23 06:26:44 -07:00
svml_s_sinf4_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_sinf8_core_avx.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_sinf8_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_sinf16_core.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_trig_data.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_trig_data.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
svml_s_wrapper_impl.h x86_64: Replace AVX512F .byte sequences with instructions 2017-08-23 06:26:44 -07:00
test-double-libmvec-alias-avx2-main.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-double-libmvec-alias-avx2-mod.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-double-libmvec-alias-avx2.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-double-libmvec-alias-avx512-main.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-double-libmvec-alias-avx512-mod.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-double-libmvec-alias-avx512.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-double-libmvec-alias-avx-main.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-double-libmvec-alias-avx-mod.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-double-libmvec-alias-avx.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-double-libmvec-alias-main.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-double-libmvec-alias-mod.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-double-libmvec-alias.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-double-libmvec-sincos-avx2-main.c Don't compile do_test with -mavx/-mavx/-mavx512 2016-07-27 11:53:15 -07:00
test-double-libmvec-sincos-avx2.c Fixed wrong vector sincos/sincosf ABI to have it compatible with 2016-07-01 14:15:38 +03:00
test-double-libmvec-sincos-avx512-main.c Don't compile do_test with -mavx/-mavx/-mavx512 2016-07-27 11:53:15 -07:00
test-double-libmvec-sincos-avx512.c Fixed wrong vector sincos/sincosf ABI to have it compatible with 2016-07-01 14:15:38 +03:00
test-double-libmvec-sincos-avx-main.c Don't compile do_test with -mavx/-mavx/-mavx512 2016-07-27 11:53:15 -07:00
test-double-libmvec-sincos-avx.c Fixed wrong vector sincos/sincosf ABI to have it compatible with 2016-07-01 14:15:38 +03:00
test-double-libmvec-sincos-main.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-double-libmvec-sincos.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-double-vlen2-wrappers.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-double-vlen4-avx2-wrappers.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-double-vlen4-avx2.h Move most libmvec test contents from .c to .h files. 2017-02-15 01:13:15 +00:00
test-double-vlen4-wrappers.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-double-vlen4.h Run libm tests separately for each function. 2017-02-24 00:52:49 +00:00
test-double-vlen8-wrappers.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-double-vlen8.h Run libm tests separately for each function. 2017-02-24 00:52:49 +00:00
test-float-libmvec-alias-avx2-main.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-float-libmvec-alias-avx2-mod.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-float-libmvec-alias-avx2.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-float-libmvec-alias-avx512-main.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-float-libmvec-alias-avx512-mod.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-float-libmvec-alias-avx512.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-float-libmvec-alias-avx-main.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-float-libmvec-alias-avx-mod.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-float-libmvec-alias-avx.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-float-libmvec-alias-main.c Added tests to ensure linkage through libmvec *_finite aliases which are 2016-06-20 21:15:50 +03:00
test-float-libmvec-alias-mod.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-float-libmvec-alias.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-float-libmvec-sincosf-avx2-main.c Don't compile do_test with -mavx/-mavx/-mavx512 2016-07-27 11:53:15 -07:00
test-float-libmvec-sincosf-avx2.c Fixed wrong vector sincos/sincosf ABI to have it compatible with 2016-07-01 14:15:38 +03:00
test-float-libmvec-sincosf-avx512-main.c Don't compile do_test with -mavx/-mavx/-mavx512 2016-07-27 11:53:15 -07:00
test-float-libmvec-sincosf-avx512.c Fixed wrong vector sincos/sincosf ABI to have it compatible with 2016-07-01 14:15:38 +03:00
test-float-libmvec-sincosf-avx-main.c Don't compile do_test with -mavx/-mavx/-mavx512 2016-07-27 11:53:15 -07:00
test-float-libmvec-sincosf-avx.c Fixed wrong vector sincos/sincosf ABI to have it compatible with 2016-07-01 14:15:38 +03:00
test-float-libmvec-sincosf-main.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-float-libmvec-sincosf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-float-vlen4-wrappers.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-float-vlen8-avx2-wrappers.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-float-vlen8-avx2.h Move most libmvec test contents from .c to .h files. 2017-02-15 01:13:15 +00:00
test-float-vlen8-wrappers.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-float-vlen8.h Run libm tests separately for each function. 2017-02-24 00:52:49 +00:00
test-float-vlen16-wrappers.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-float-vlen16.h Run libm tests separately for each function. 2017-02-24 00:52:49 +00:00
test-libmvec-alias-mod.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +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. 2017-01-01 00:14:16 +00:00