about summary refs log tree commit diff
path: root/sysdeps/generic
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-09-12 07:46:11 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-09-12 07:54:47 -0700
commitef8adeb0416309082c41a1518caee6961b5c42e8 (patch)
tree1907bd459f82a962252cc5852bbee9025b3a99ad /sysdeps/generic
parenta166531fdf601560a0005479427f60d3173f8257 (diff)
downloadglibc-ef8adeb0416309082c41a1518caee6961b5c42e8.tar.gz
glibc-ef8adeb0416309082c41a1518caee6961b5c42e8.tar.xz
glibc-ef8adeb0416309082c41a1518caee6961b5c42e8.zip
x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ #21967]
AVX512 functions in mathvec are used on machines with AVX512.  An AVX2
wrapper is also provided and it can be used when the AVX512 version
isn't profitable.  MathVec_Prefer_No_AVX512 is addded to cpu-features.
If glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 is set in GLIBC_TUNABLES
environment variable, the AVX2 wrapper will be used.

Tested on x86-64 machines with and without AVX512.  Also verified
glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 on AVX512 machine.

	[BZ #21967]
	* sysdeps/x86/cpu-features.h (bit_arch_MathVec_Prefer_No_AVX512):
	New.
	(index_arch_MathVec_Prefer_No_AVX512): Likewise.
	* sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)):
	Handle MathVec_Prefer_No_AVX512.
	* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h
	(IFUNC_SELECTOR): Return AVX2 version if MathVec_Prefer_No_AVX512
	is set.
Diffstat (limited to 'sysdeps/generic')
0 files changed, 0 insertions, 0 deletions