From patchwork Tue Jan 10 06:34:32 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: He Chen X-Patchwork-Id: 9506473 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A7AC960231 for ; Tue, 10 Jan 2017 06:37:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9E3B028236 for ; Tue, 10 Jan 2017 06:37:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 903F22846D; Tue, 10 Jan 2017 06:37:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 4BC4C2823D for ; Tue, 10 Jan 2017 06:37:21 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cQq16-0007Vj-4X; Tue, 10 Jan 2017 06:34:44 +0000 Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cQq14-0007Vd-4l for xen-devel@lists.xenproject.org; Tue, 10 Jan 2017 06:34:42 +0000 Received: from [85.158.143.35] by server-1.bemta-6.messagelabs.com id 58/ED-27678-18084785; Tue, 10 Jan 2017 06:34:41 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKLMWRWlGSWpSXmKPExsVywNxEW7ehoST CYPZbfYvvWyYzOTB6HP5whSWAMYo1My8pvyKBNWPqr5mMBXt4K7ae72NtYHzL1cXIySEkUClx cNEOJhBbQoBX4siyGaxdjBxAtr9EzyOgMBdQSSujxLO7HSwgcTYBdYkJs8tAykUElCTurZoMV sMscJ9JYubxRWwgCWEBC4mF3Z+YQWwWAVWJR1cPg83nFXCT+HjjABvELjmJm+c6mScwci9gZF jFqFGcWlSWWqRrZK6XVJSZnlGSm5iZo2toYKaXm1pcnJiempOYVKyXnJ+7iRHoXQYg2MG4eG3 gIUZJDiYlUd4U3ZIIIb6k/JTKjMTijPii0pzU4kOMMhwcShK8bPVAOcGi1PTUirTMHGCYwaQl OHiURHh5QNK8xQWJucWZ6RCpU4yKUuK8ASAJAZBERmkeXBsstC8xykoJ8zICHSLEU5BalJtZg ir/ilGcg1FJmFcAZApPZl4J3PRXQIuZgBZH2hWDLC5JREhJNTDOy/vhx/KegWPq0SWyc4zUj/ mZ/Jf40S02964MQ4DEl4OWoRZfM98EzTxTcTNNc+5+tbJzhnU7HTZq3MkTOXNW/p/U2pW9jVx KoX/3XYkoTmPpuhXFvPjOKumdy6TXMLnobNeW1pL5O6HatXxRxqo9/2q0IxyTF1+oyW400vjk GuF2N7r7P4sSS3FGoqEWc1FxIgCSfmfkaAIAAA== X-Env-Sender: he.chen@linux.intel.com X-Msg-Ref: server-8.tower-21.messagelabs.com!1484030078!51763140!1 X-Originating-IP: [192.55.52.43] X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50 X-StarScan-Received: X-StarScan-Version: 9.1.1; banners=-,-,- X-VirusChecked: Checked Received: (qmail 11545 invoked from network); 10 Jan 2017 06:34:40 -0000 Received: from mga05.intel.com (HELO mga05.intel.com) (192.55.52.43) by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 10 Jan 2017 06:34:40 -0000 Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP; 09 Jan 2017 22:34:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,342,1477983600"; d="scan'208";a="807076158" Received: from he.bj.intel.com (HELO localhost) ([10.238.135.151]) by FMSMGA003.fm.intel.com with ESMTP; 09 Jan 2017 22:34:35 -0800 From: He Chen To: xen-devel@lists.xenproject.org Date: Tue, 10 Jan 2017 14:34:32 +0800 Message-Id: <1484030072-9418-1-git-send-email-he.chen@linux.intel.com> X-Mailer: git-send-email 2.7.4 Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , He Chen , Jan Beulich Subject: [Xen-devel] [PATCH] x86/cpuid: Add AVX512_VPOPCNTDQ support X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP AVX512_VPOPCNTDQ: Vector POPCNT instructions for word and qwords. variable precision. Signed-off-by: He Chen --- xen/include/public/arch-x86/cpufeatureset.h | 1 + xen/tools/gen-cpuid.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h index 565ccd5..285224d 100644 --- a/xen/include/public/arch-x86/cpufeatureset.h +++ b/xen/include/public/arch-x86/cpufeatureset.h @@ -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(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 */ diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py index 420a5cc..1067c85 100755 --- a/xen/tools/gen-cpuid.py +++ b/xen/tools/gen-cpuid.py @@ -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, VPOPCNTDQ], } deep_features = tuple(sorted(deps.keys()))