x86/cpuid: Add AVX512_VPOPCNTDQ support
authorHe Chen <he.chen@linux.intel.com>
Tue, 10 Jan 2017 09:19:54 +0000 (17:19 +0800)
committerWei Liu <wei.liu2@citrix.com>
Tue, 10 Jan 2017 10:21:15 +0000 (10:21 +0000)
AVX512_VPOPCNTDQ: Vector POPCNT instructions for word and qwords.
variable precision.

Signed-off-by: He Chen <he.chen@linux.intel.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
xen/include/public/arch-x86/cpufeatureset.h
xen/tools/gen-cpuid.py

index 565ccd55a98a378c307b69184919be924e8e94ee..c9b38e5a5742e58c57edc76db26bbfbfc79c9489 100644 (file)
@@ -226,6 +226,7 @@ XEN_CPUFEATURE(PREFETCHWT1,   6*32+ 0) /*A  PREFETCHWT1 instruction */
 XEN_CPUFEATURE(AVX512VBMI,    6*32+ 1) /*A  AVX-512 Vector Byte Manipulation Instrs */
 XEN_CPUFEATURE(PKU,           6*32+ 3) /*H  Protection Keys for Userspace */
 XEN_CPUFEATURE(OSPKE,         6*32+ 4) /*!  OS Protection Keys Enable */
+XEN_CPUFEATURE(AVX512_VPOPCNTDQ, 6*32+14) /*A  POPCNT for vectors of DW/QW */
 
 /* AMD-defined CPU features, CPUID level 0x80000007.edx, word 7 */
 XEN_CPUFEATURE(ITSC,          7*32+ 8) /*   Invariant TSC */
index 420a5cc7e9d7ff9c92863be121ab5a2800968931..4a673b0dd3aa38ff757dd36fed976a7edb5cec5a 100755 (executable)
@@ -255,7 +255,8 @@ def crunch_numbers(state):
         # 512bit registers, and the instructions themselves. All further AVX512 features
         # are built on top of AVX512F
         AVX512F: [AVX512DQ, AVX512IFMA, AVX512PF, AVX512ER, AVX512CD,
-                  AVX512BW, AVX512VL, AVX512VBMI, AVX512_4VNNIW, AVX512_4FMAPS],
+                  AVX512BW, AVX512VL, AVX512VBMI, AVX512_4VNNIW,
+                  AVX512_4FMAPS, AVX512_VPOPCNTDQ],
     }
 
     deep_features = tuple(sorted(deps.keys()))