]> granicus.if.org Git - clang/commitdiff
[X86] Add avx512vpopcntdq to Knights Mill
authorCraig Topper <craig.topper@intel.com>
Wed, 25 Oct 2017 17:10:58 +0000 (17:10 +0000)
committerCraig Topper <craig.topper@intel.com>
Wed, 25 Oct 2017 17:10:58 +0000 (17:10 +0000)
As indicated by Table 1-1 in Intel Architecture Instruction Set Extensions and Future Features Programming Reference from October 2017.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@316593 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Targets/X86.cpp
test/Preprocessor/predefined-arch-macros.c

index 644cf467b002ae5613521e54a381ff495cc60217..d2716ac670259a32551a18ec839c63eab5020285 100644 (file)
@@ -231,6 +231,8 @@ bool X86TargetInfo::initFeatureMap(
 
   case CK_KNM:
     // TODO: Add avx5124fmaps/avx5124vnniw.
+    setFeatureEnabledImpl(Features, "avx512vpopcntdq", true);
+    LLVM_FALLTHROUGH;
   case CK_KNL:
     setFeatureEnabledImpl(Features, "avx512f", true);
     setFeatureEnabledImpl(Features, "avx512cd", true);
index 06faf0eadef5bacbbf8889e1028cddb542a0664c..43dc469d3ea22260935030b3d1954f3d78dbb1cc 100644 (file)
 // CHECK_KNM_M32: #define __AVX512ER__ 1
 // CHECK_KNM_M32: #define __AVX512F__ 1
 // CHECK_KNM_M32: #define __AVX512PF__ 1
+// CHECK_KNM_M32: #define __AVX512VPOPCNTDQ__ 1
 // CHECK_KNM_M32: #define __AVX__ 1
 // CHECK_KNM_M32: #define __BMI2__ 1
 // CHECK_KNM_M32: #define __BMI__ 1
 // CHECK_KNM_M64: #define __AVX512ER__ 1
 // CHECK_KNM_M64: #define __AVX512F__ 1
 // CHECK_KNM_M64: #define __AVX512PF__ 1
+// CHECK_KNM_M64: #define __AVX512VPOPCNTDQ__ 1
 // CHECK_KNM_M64: #define __AVX__ 1
 // CHECK_KNM_M64: #define __BMI2__ 1
 // CHECK_KNM_M64: #define __BMI__ 1