diff --git a/lib/Support/X86TargetParser.cpp b/lib/Support/X86TargetParser.cpp index 6355fd12c06..34e4798a004 100644 --- a/lib/Support/X86TargetParser.cpp +++ b/lib/Support/X86TargetParser.cpp @@ -192,13 +192,13 @@ constexpr FeatureBitset FeaturesCannonlake = FeaturePKU | FeatureSHA; constexpr FeatureBitset FeaturesICLClient = FeaturesCannonlake | FeatureAVX512BITALG | FeatureAVX512VBMI2 | - FeatureAVX512VNNI | FeatureAVX512VPOPCNTDQ | FeatureCLWB | FeatureGFNI | - FeatureRDPID | FeatureVAES | FeatureVPCLMULQDQ; + FeatureAVX512VNNI | FeatureAVX512VPOPCNTDQ | FeatureGFNI | FeatureRDPID | + FeatureVAES | FeatureVPCLMULQDQ; constexpr FeatureBitset FeaturesICLServer = - FeaturesICLClient | FeaturePCONFIG | FeatureWBNOINVD; + FeaturesICLClient | FeatureCLWB | FeaturePCONFIG | FeatureWBNOINVD; constexpr FeatureBitset FeaturesTigerlake = FeaturesICLClient | FeatureAVX512VP2INTERSECT | FeatureMOVDIR64B | - FeatureMOVDIRI | FeatureSHSTK | FeatureKL | FeatureWIDEKL; + FeatureCLWB | FeatureMOVDIRI | FeatureSHSTK | FeatureKL | FeatureWIDEKL; constexpr FeatureBitset FeaturesSapphireRapids = FeaturesICLServer | FeatureAMX_TILE | FeatureAMX_INT8 | FeatureAMX_BF16 | FeatureAVX512BF16 | FeatureAVX512VP2INTERSECT | FeatureCLDEMOTE | diff --git a/lib/Target/X86/X86.td b/lib/Target/X86/X86.td index 7acfc3cb160..1ea3f90891a 100644 --- a/lib/Target/X86/X86.td +++ b/lib/Target/X86/X86.td @@ -740,7 +740,6 @@ def ProcessorFeatures { FeatureVPCLMULQDQ, FeatureVPOPCNTDQ, FeatureGFNI, - FeatureCLWB, FeatureRDPID, FeatureFSRM]; list ICLTuning = CNLTuning; @@ -749,6 +748,7 @@ def ProcessorFeatures { // Icelake Server list ICXAdditionalFeatures = [FeaturePCONFIG, + FeatureCLWB, FeatureWBNOINVD]; list ICXTuning = CNLTuning; list ICXFeatures = @@ -756,6 +756,7 @@ def ProcessorFeatures { //Tigerlake list TGLAdditionalFeatures = [FeatureVP2INTERSECT, + FeatureCLWB, FeatureMOVDIRI, FeatureMOVDIR64B, FeatureSHSTK]; diff --git a/test/CodeGen/X86/clwb.ll b/test/CodeGen/X86/clwb.ll index 75ca48329ee..587bc4c5157 100644 --- a/test/CodeGen/X86/clwb.ll +++ b/test/CodeGen/X86/clwb.ll @@ -4,8 +4,8 @@ ; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=clwb | FileCheck %s ; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=skx | FileCheck %s ; RUN: not --crash llc < %s -mtriple=i686-apple-darwin -mcpu=cannonlake 2>&1 | FileCheck %s --check-prefix=CNL -; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=icelake-client | FileCheck %s ; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=icelake-server | FileCheck %s +; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=tigerlake | FileCheck %s ; CNL: LLVM ERROR: Cannot select: intrinsic %llvm.x86.clwb