From a9421e2a45c1e1e49858a705bd5f95f08f26d497 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Tue, 8 Aug 2017 17:43:44 +0000 Subject: [PATCH] [X86] Support 'avx5124vnniw' and 'avx5124fmaps' for __builtin_cpu_supports. 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 | 2 ++ lib/CodeGen/CGBuiltin.cpp | 6 ++++-- test/CodeGen/target-builtin-noerror.c | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/Basic/Targets/X86.cpp b/lib/Basic/Targets/X86.cpp index c935dafd1b..5c48850cb4 100644 --- a/lib/Basic/Targets/X86.cpp +++ b/lib/Basic/Targets/X86.cpp @@ -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); } diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index 92c0da9845..1a9ff26d83 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -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!"); diff --git a/test/CodeGen/target-builtin-noerror.c b/test/CodeGen/target-builtin-noerror.c index 2a7d69f108..dcc77d77bf 100644 --- a/test/CodeGen/target-builtin-noerror.c +++ b/test/CodeGen/target-builtin-noerror.c @@ -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"); } -- 2.40.0