]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
x86: Add AVX512VL_Usable and AVX512BW_Usable
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 29 Mar 2021 20:13:32 +0000 (13:13 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 27 Jan 2022 20:47:19 +0000 (12:47 -0800)
Add AVX512VL_Usable and AVX512BW_Usable for backporting string/memory
functions optimized with 256-bit EVEX.

sysdeps/x86/cpu-features.c
sysdeps/x86/cpu-features.h

index 5ddc8eebf441b8ffa250f51977fb14d5564ee0df..4be4be7051b401415ced06c81a8c45b376ca18c7 100644 (file)
@@ -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]
index 1f60296e7b65f3bb2091ffc111ae1a619a38ab8b..177aa0ebc80ea8e1d45274494e77f070660a2a77 100644 (file)
@@ -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__ */