glibc/sysdeps
H.J. Lu ecbbadbf10 x86: Update CPU feature detection [BZ #26149]
1. Divide architecture features into the usable features and the preferred
features.  The usable features are for correctness and can be exported in
a stable ABI.  The preferred features are for performance and only for
glibc internal use.
2. Change struct cpu_features to

struct cpu_features
{
  struct cpu_features_basic basic;
  unsigned int *usable_p;
  struct cpuid_registers cpuid[COMMON_CPUID_INDEX_MAX];
  unsigned int usable[USABLE_FEATURE_INDEX_MAX];
  unsigned int preferred[PREFERRED_FEATURE_INDEX_MAX];
  ...
};

and initialize usable_p to pointer to the usable arary so that

struct cpu_features
{
  struct cpu_features_basic basic;
  unsigned int *usable_p;
  struct cpuid_registers cpuid[COMMON_CPUID_INDEX_MAX];
};

can be exported via a stable ABI.  The cpuid and usable arrays can be
expanded with backward binary compatibility for both .o and .so files.
3. Add COMMON_CPUID_INDEX_7_ECX_1 for AVX512_BF16.
4. Detect ENQCMD, PKS, AVX512_VP2INTERSECT, MD_CLEAR, SERIALIZE, HYBRID,
TSXLDTRK, L1D_FLUSH, CORE_CAPABILITIES and AVX512_BF16.
5. Rename CAPABILITIES to ARCH_CAPABILITIES.
6. Check if AVX512_VP2INTERSECT, AVX512_BF16 and PKU are usable.
7. Update CPU feature detection test.
2020-06-22 13:09:33 -07:00
..
aarch64 aarch64: Remove fpu Makefile 2020-06-22 11:09:50 -03:00
alpha alpha: Use builtin sqrt{f} 2020-06-22 11:09:49 -03:00
arm arm: Use sqrt{f} builtin 2020-06-22 11:09:50 -03:00
csky
generic math: Decompose math-use-builtins.h 2020-06-22 11:09:45 -03:00
gnu
hppa dl-runtime: reloc_{offset,index} now functions arch overide'able 2020-06-05 13:45:46 -07:00
htl htl: Fix cleanup support for IO locking 2020-06-14 15:53:04 +00:00
hurd
i386 i386: Use builtin sqrtl 2020-06-22 11:09:49 -03:00
ia64 ia64: Use generic exp10f 2020-06-19 12:08:52 -03:00
ieee754 New exp10f version without SVID compat wrapper 2020-06-19 12:08:47 -03:00
m68k m68k: Use sqrt{f} builtin for coldfire 2020-06-22 11:09:50 -03:00
mach hurd: Add mremap 2020-06-20 13:49:57 +00:00
microblaze
mips mips: Use sqrt{f} builtin 2020-06-22 11:09:49 -03:00
nios2
nptl
posix hurd: Fix __writev_nocancel_nostatus 2020-06-14 17:45:04 +00:00
powerpc powerpc: Use sqrt{f} builtin 2020-06-22 11:09:49 -03:00
pthread htl: Enable more cancellation tests 2020-06-14 16:16:59 +00:00
riscv riscv: Use sqrt{f} builtin 2020-06-22 11:09:50 -03:00
s390 s390: Use sqrt{f} builtin 2020-06-22 11:09:50 -03:00
sh
sparc sparc: Use sqrt{f} builtin 2020-06-22 11:09:49 -03:00
unix x86: Update CPU feature detection [BZ #26149] 2020-06-22 13:09:33 -07:00
wordsize-32
wordsize-64
x86 x86: Update CPU feature detection [BZ #26149] 2020-06-22 13:09:33 -07:00
x86_64 i386: Use builtin sqrtl 2020-06-22 11:09:49 -03:00