diff options
-rw-r--r-- | sysdeps/x86/cpu-features.c | 8 | ||||
-rw-r--r-- | sysdeps/x86/cpu-features.h | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c index 5ddc8eebf4..4be4be7051 100644 --- a/sysdeps/x86/cpu-features.c +++ b/sysdeps/x86/cpu-features.c @@ -130,6 +130,14 @@ get_common_indeces (struct cpu_features *cpu_features, { cpu_features->feature[index_arch_AVX512F_Usable] |= bit_arch_AVX512F_Usable; + /* Determine if AVX512VL is usable. */ + if (CPU_FEATURES_CPU_P (cpu_features, AVX512VL)) + cpu_features->feature[index_arch_AVX512VL_Usable] + |= bit_arch_AVX512VL_Usable; + /* Determine if AVX512BW is usable. */ + if (CPU_FEATURES_CPU_P (cpu_features, AVX512BW)) + cpu_features->feature[index_arch_AVX512BW_Usable] + |= bit_arch_AVX512BW_Usable; /* Determine if AVX512DQ is usable. */ if (CPU_FEATURES_CPU_P (cpu_features, AVX512DQ)) cpu_features->feature[index_arch_AVX512DQ_Usable] diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h index 1f60296e7b..177aa0ebc8 100644 --- a/sysdeps/x86/cpu-features.h +++ b/sysdeps/x86/cpu-features.h @@ -42,6 +42,8 @@ #define bit_arch_XSAVEC_Usable (1 << 22) #define bit_arch_Prefer_FSRM (1 << 23) #define bit_arch_Prefer_AVX2_STRCMP (1 << 24) +#define bit_arch_AVX512VL_Usable (1 << 25) +#define bit_arch_AVX512BW_Usable (1 << 26) /* CPUID Feature flags. */ @@ -268,6 +270,8 @@ extern const struct cpu_features *__get_cpu_features (void) # define index_arch_XSAVEC_Usable FEATURE_INDEX_1 # define index_arch_Prefer_FSRM FEATURE_INDEX_1 # define index_arch_Prefer_AVX2_STRCMP FEATURE_INDEX_1 +# define index_arch_AVX512VL_Usable FEATURE_INDEX_1 +# define index_arch_AVX512BW_Usable FEATURE_INDEX_1 #endif /* !__ASSEMBLER__ */ |