x86: Don't set Prefer_No_AVX512 for processors with AVX512 and AVX-VNNI

Don't set Prefer_No_AVX512 on processors with AVX512 and AVX-VNNI since
they won't lower CPU frequency when ZMM load and store instructions are
used.
This commit is contained in:
H.J. Lu 2021-12-06 07:14:12 -08:00
parent a329f68f2e
commit ceeffe968c
1 changed files with 5 additions and 2 deletions

View File

@ -538,8 +538,11 @@ init_cpu_features (struct cpu_features *cpu_features)
|= bit_arch_Prefer_No_VZEROUPPER;
else
{
cpu_features->preferred[index_arch_Prefer_No_AVX512]
|= bit_arch_Prefer_No_AVX512;
/* Processors with AVX512 and AVX-VNNI won't lower CPU frequency
when ZMM load and store instructions are used. */
if (!CPU_FEATURES_CPU_P (cpu_features, AVX_VNNI))
cpu_features->preferred[index_arch_Prefer_No_AVX512]
|= bit_arch_Prefer_No_AVX512;
/* Avoid RTM abort triggered by VZEROUPPER inside a
transactionally executing RTM region. */