diff options
author | Gabor Buella <gabor.buella@intel.com> | 2018-05-08 06:49:41 +0000 |
---|---|---|
committer | Gabor Buella <gabor.buella@intel.com> | 2018-05-08 06:49:41 +0000 |
commit | b0f310d51dd9002004b933e411b136471ac61c0a (patch) | |
tree | 9c05d165528f3da0d12ffc3218a6f17cc05e479a /clang/lib/Basic/Targets/X86.cpp | |
parent | 2b5e96004b23c9506bbf8ec3480861fb9157ceb8 (diff) | |
download | bcm5719-llvm-b0f310d51dd9002004b933e411b136471ac61c0a.tar.gz bcm5719-llvm-b0f310d51dd9002004b933e411b136471ac61c0a.zip |
[x86] Introduce the pconfig intrinsic
Reviewers: craig.topper, zvi
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D46431
llvm-svn: 331740
Diffstat (limited to 'clang/lib/Basic/Targets/X86.cpp')
-rw-r--r-- | clang/lib/Basic/Targets/X86.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets/X86.cpp b/clang/lib/Basic/Targets/X86.cpp index bb098cb5065..95a8e114b1e 100644 --- a/clang/lib/Basic/Targets/X86.cpp +++ b/clang/lib/Basic/Targets/X86.cpp @@ -154,6 +154,7 @@ bool X86TargetInfo::initFeatureMap( break; case CK_IcelakeServer: + setFeatureEnabledImpl(Features, "pconfig", true); setFeatureEnabledImpl(Features, "wbnoinvd", true); LLVM_FALLTHROUGH; case CK_IcelakeClient: @@ -827,6 +828,8 @@ bool X86TargetInfo::handleTargetFeatures(std::vector<std::string> &Features, HasMOVDIRI = true; } else if (Feature == "+movdir64b") { HasMOVDIR64B = true; + } else if (Feature == "+pconfig") { + HasPCONFIG = true; } X86SSEEnum Level = llvm::StringSwitch<X86SSEEnum>(Feature) @@ -1187,6 +1190,8 @@ void X86TargetInfo::getTargetDefines(const LangOptions &Opts, Builder.defineMacro("__MOVDIRI__"); if (HasMOVDIR64B) Builder.defineMacro("__MOVDIR64B__"); + if (HasPCONFIG) + Builder.defineMacro("__PCONFIG__"); // Each case falls through to the previous one here. switch (SSELevel) { @@ -1316,6 +1321,7 @@ bool X86TargetInfo::isValidFeatureName(StringRef Name) const { .Case("mpx", true) .Case("mwaitx", true) .Case("pclmul", true) + .Case("pconfig", true) .Case("pku", true) .Case("popcnt", true) .Case("prefetchwt1", true) @@ -1394,6 +1400,7 @@ bool X86TargetInfo::hasFeature(StringRef Feature) const { .Case("mpx", HasMPX) .Case("mwaitx", HasMWAITX) .Case("pclmul", HasPCLMUL) + .Case("pconfig", HasPCONFIG) .Case("pku", HasPKU) .Case("popcnt", HasPOPCNT) .Case("prefetchwt1", HasPREFETCHWT1) |