summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHe Chen2017-01-13 02:53:31 +0100
committerEduardo Habkost2017-01-24 00:22:38 +0100
commitf77543772dcd38fa438470d9b80bafbd3a3ebbd7 (patch)
tree6556c46b0575900a1575f24b0ddf649e8ae83ddf
parentMerge remote-tracking branch 'remotes/berrange/tags/pull-qio-2017-01-23-2' in... (diff)
downloadqemu-f77543772dcd38fa438470d9b80bafbd3a3ebbd7.tar.gz
qemu-f77543772dcd38fa438470d9b80bafbd3a3ebbd7.tar.xz
qemu-f77543772dcd38fa438470d9b80bafbd3a3ebbd7.zip
x86: add AVX512_VPOPCNTDQ features
AVX512_VPOPCNTDQ: Vector POPCNT instructions for word and qwords. variable precision. Signed-off-by: He Chen <he.chen@linux.intel.com> Message-Id: <1484272411-28073-1-git-send-email-he.chen@linux.intel.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
-rw-r--r--target/i386/cpu.c2
-rw-r--r--target/i386/cpu.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index aba11ae171..b6c8c5d65b 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -435,7 +435,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
NULL, "avx512vbmi", "umip", "pku",
"ospke", NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL,
+ NULL, NULL, "avx512-vpopcntdq", NULL,
"la57", NULL, NULL, NULL,
NULL, NULL, "rdpid", NULL,
NULL, NULL, NULL, NULL,
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index 6c1902b36e..10c5a3538d 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -630,6 +630,7 @@ typedef uint32_t FeatureWordArray[FEATURE_WORDS];
#define CPUID_7_0_ECX_UMIP (1U << 2)
#define CPUID_7_0_ECX_PKU (1U << 3)
#define CPUID_7_0_ECX_OSPKE (1U << 4)
+#define CPUID_7_0_ECX_AVX512_VPOPCNTDQ (1U << 14) /* POPCNT for vectors of DW/QW */
#define CPUID_7_0_ECX_LA57 (1U << 16)
#define CPUID_7_0_ECX_RDPID (1U << 22)