]> granicus.if.org Git - clang/commitdiff
[X86] Support 'avx5124vnniw' and 'avx5124fmaps' for __builtin_cpu_supports.
authorCraig Topper <craig.topper@intel.com>
Tue, 8 Aug 2017 17:43:44 +0000 (17:43 +0000)
committerCraig Topper <craig.topper@intel.com>
Tue, 8 Aug 2017 17:43:44 +0000 (17:43 +0000)
They still need to be implemented in the intrinsics, the command line, and the backend. But this change isn't dependent on any of that and resolves a TODO.

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

lib/Basic/Targets/X86.cpp
lib/CodeGen/CGBuiltin.cpp
test/CodeGen/target-builtin-noerror.c

index c935dafd1be9aa6be6fd731abeb092081792e4e5..5c48850cb41ef0cc089280e4c63420986ca81728 100644 (file)
@@ -1301,6 +1301,8 @@ bool X86TargetInfo::validateCpuSupports(StringRef FeatureStr) const {
       .Case("avx512pf", true)
       .Case("avx512vbmi", true)
       .Case("avx512ifma", true)
+      .Case("avx5124vnniw", true)
+      .Case("avx5124fmaps", true)
       .Case("avx512vpopcntdq", true)
       .Default(false);
 }
index 92c0da9845915955c02c22bc7e6823f5756837b8..1a9ff26d83d7acf196999dc66abbc0c16b63e804 100644 (file)
@@ -7375,8 +7375,8 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
       AVX512PF,
       AVX512VBMI,
       AVX512IFMA,
-      AVX5124VNNIW, // TODO implement this fully
-      AVX5124FMAPS, // TODO implement this fully
+      AVX5124VNNIW,
+      AVX5124FMAPS,
       AVX512VPOPCNTDQ,
       MAX
     };
@@ -7411,6 +7411,8 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
             .Case("avx512pf", X86Features::AVX512PF)
             .Case("avx512vbmi", X86Features::AVX512VBMI)
             .Case("avx512ifma", X86Features::AVX512IFMA)
+            .Case("avx5124vnniw", X86Features::AVX5124VNNIW)
+            .Case("avx5124fmaps", X86Features::AVX5124FMAPS)
             .Case("avx512vpopcntdq", X86Features::AVX512VPOPCNTDQ)
             .Default(X86Features::MAX);
     assert(Feature != X86Features::MAX && "Invalid feature!");
index 2a7d69f1089f984c370305a601a44069deda9f2f..dcc77d77bf71c3afef93a3b6b1e6c8aee98f39ac 100644 (file)
@@ -72,4 +72,7 @@ void verifyfeaturestrings() {
   (void)__builtin_cpu_supports("avx512pf");
   (void)__builtin_cpu_supports("avx512vbmi");
   (void)__builtin_cpu_supports("avx512ifma");
+  (void)__builtin_cpu_supports("avx5124vnniw");
+  (void)__builtin_cpu_supports("avx5124fmaps");
+  (void)__builtin_cpu_supports("avx512vpopcntdq");
 }