From c2d756ba34a0ced6c73be919265f3b16a4401858 Mon Sep 17 00:00:00 2001
From: Gabor Buella <gabor.buella@intel.com>
Date: Tue, 10 Apr 2018 14:04:21 +0000
Subject: [PATCH] [X86] Disable SGX for Skylake Server

Reviewers: craig.topper, zvi, echristo

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D45058



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@329701 91177308-0d34-0410-b5e6-96231b3b80d8
---
 lib/Basic/Targets/X86.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/Basic/Targets/X86.cpp b/lib/Basic/Targets/X86.cpp
index bdad3e0535..4eb19b401f 100644
--- a/lib/Basic/Targets/X86.cpp
+++ b/lib/Basic/Targets/X86.cpp
@@ -182,7 +182,8 @@ bool X86TargetInfo::initFeatureMap(
     setFeatureEnabledImpl(Features, "xsavec", true);
     setFeatureEnabledImpl(Features, "xsaves", true);
     setFeatureEnabledImpl(Features, "mpx", true);
-    setFeatureEnabledImpl(Features, "sgx", true);
+    if (Kind != CK_SkylakeServer) // SKX inherits all SKL features, except SGX
+      setFeatureEnabledImpl(Features, "sgx", true);
     setFeatureEnabledImpl(Features, "clflushopt", true);
     setFeatureEnabledImpl(Features, "rtm", true);
     LLVM_FALLTHROUGH;
-- 
2.40.0