summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Basic/Targets')
-rw-r--r--clang/lib/Basic/Targets/X86.cpp5
-rw-r--r--clang/lib/Basic/Targets/X86.h5
2 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets/X86.cpp b/clang/lib/Basic/Targets/X86.cpp
index 8e2f5940bb8..6eee2facda2 100644
--- a/clang/lib/Basic/Targets/X86.cpp
+++ b/clang/lib/Basic/Targets/X86.cpp
@@ -229,6 +229,8 @@ bool X86TargetInfo::initFeatureMap(
setFeatureEnabledImpl(Features, "cx16", true);
break;
+ case CK_KNM:
+ // TODO: Add avx5124fmaps/avx5124vnniw.
case CK_KNL:
setFeatureEnabledImpl(Features, "avx512f", true);
setFeatureEnabledImpl(Features, "avx512cd", true);
@@ -853,6 +855,8 @@ void X86TargetInfo::getTargetDefines(const LangOptions &Opts,
case CK_KNL:
defineCPUMacros(Builder, "knl");
break;
+ case CK_KNM:
+ break;
case CK_Lakemont:
Builder.defineMacro("__tune_lakemont__");
break;
@@ -1553,6 +1557,7 @@ X86TargetInfo::CPUKind X86TargetInfo::getCPUKind(StringRef CPU) const {
.Cases("skylake-avx512", "skx", CK_SkylakeServer)
.Case("cannonlake", CK_Cannonlake)
.Case("knl", CK_KNL)
+ .Case("knm", CK_KNM)
.Case("lakemont", CK_Lakemont)
.Case("k6", CK_K6)
.Case("k6-2", CK_K6_2)
diff --git a/clang/lib/Basic/Targets/X86.h b/clang/lib/Basic/Targets/X86.h
index 38fb0c66f65..3b405dc762b 100644
--- a/clang/lib/Basic/Targets/X86.h
+++ b/clang/lib/Basic/Targets/X86.h
@@ -203,6 +203,10 @@ class LLVM_LIBRARY_VISIBILITY X86TargetInfo : public TargetInfo {
/// Knights Landing processor.
CK_KNL,
+ /// \name Knights Mill
+ /// Knights Mill processor.
+ CK_KNM,
+
/// \name Lakemont
/// Lakemont microarchitecture based processors.
CK_Lakemont,
@@ -321,6 +325,7 @@ class LLVM_LIBRARY_VISIBILITY X86TargetInfo : public TargetInfo {
case CK_SkylakeServer:
case CK_Cannonlake:
case CK_KNL:
+ case CK_KNM:
case CK_K8:
case CK_K8SSE3:
case CK_AMDFAM10:
OpenPOWER on IntegriCloud