[clang] [llvm] [X86] Remove CLDEMOTE from Alderlake and later hybrid processors (PR #144662)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 18 02:48:42 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
@llvm/pr-subscribers-backend-x86
Author: Phoebe Wang (phoebewang)
<details>
<summary>Changes</summary>
SDM doesn't list any hybrid processors in this feature. Besides, physical machine also reports not supported.
---
Full diff: https://github.com/llvm/llvm-project/pull/144662.diff
3 Files Affected:
- (modified) clang/test/Preprocessor/predefined-arch-macros.c (+2-2)
- (modified) llvm/lib/Target/X86/X86.td (+1-1)
- (modified) llvm/lib/TargetParser/X86TargetParser.cpp (+3-3)
``````````diff
diff --git a/clang/test/Preprocessor/predefined-arch-macros.c b/clang/test/Preprocessor/predefined-arch-macros.c
index 2d17891071aae..9dfeddbd4d5ac 100644
--- a/clang/test/Preprocessor/predefined-arch-macros.c
+++ b/clang/test/Preprocessor/predefined-arch-macros.c
@@ -2102,7 +2102,7 @@
// CHECK_ADL_M32: #define __AVX__ 1
// CHECK_ADL_M32: #define __BMI2__ 1
// CHECK_ADL_M32: #define __BMI__ 1
-// CHECK_ADL_M32: #define __CLDEMOTE__ 1
+// CHECK_ADL_M32-NOT: #define __CLDEMOTE__ 1
// CHECK_ADL_M32: #define __CLFLUSHOPT__ 1
// CHECK_ADL_M32: #define __CLWB__ 1
// CHECK_ADL_M32: #define __F16C__ 1
@@ -2173,7 +2173,7 @@
// CHECK_ADL_M64: #define __AVX__ 1
// CHECK_ADL_M64: #define __BMI2__ 1
// CHECK_ADL_M64: #define __BMI__ 1
-// CHECK_ADL_M64: #define __CLDEMOTE__ 1
+// CHECK_ADL_M64-NOT: #define __CLDEMOTE__ 1
// CHECK_ADL_M64: #define __CLFLUSHOPT__ 1
// CHECK_ADL_M64: #define __CLWB__ 1
// CHECK_ADL_M64: #define __F16C__ 1
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td
index 2d635835e3ff7..b09891652ad99 100644
--- a/llvm/lib/Target/X86/X86.td
+++ b/llvm/lib/Target/X86/X86.td
@@ -1284,7 +1284,6 @@ def ProcessorFeatures {
FeatureAVXVNNI,
FeaturePKU,
FeatureHRESET,
- FeatureCLDEMOTE,
FeatureMOVDIRI,
FeatureMOVDIR64B,
FeatureWAITPKG];
@@ -1311,6 +1310,7 @@ def ProcessorFeatures {
FeatureAVXNECONVERT,
FeatureENQCMD,
FeatureUINTR,
+ FeatureCLDEMOTE,
FeatureAVXVNNIINT8];
list<SubtargetFeature> SRFFeatures =
!listconcat(ADLFeatures, SRFAdditionalFeatures);
diff --git a/llvm/lib/TargetParser/X86TargetParser.cpp b/llvm/lib/TargetParser/X86TargetParser.cpp
index 21d05ee389e64..4947b05cd0370 100644
--- a/llvm/lib/TargetParser/X86TargetParser.cpp
+++ b/llvm/lib/TargetParser/X86TargetParser.cpp
@@ -165,11 +165,11 @@ constexpr FeatureBitset FeaturesAlderlake =
FeaturesTremont | FeatureADX | FeatureBMI | FeatureBMI2 | FeatureF16C |
FeatureFMA | FeatureINVPCID | FeatureLZCNT | FeaturePCONFIG | FeaturePKU |
FeatureSERIALIZE | FeatureSHSTK | FeatureVAES | FeatureVPCLMULQDQ |
- FeatureCLDEMOTE | FeatureMOVDIR64B | FeatureMOVDIRI | FeatureWAITPKG |
- FeatureAVXVNNI | FeatureHRESET | FeatureWIDEKL;
+ FeatureMOVDIR64B | FeatureMOVDIRI | FeatureWAITPKG | FeatureAVXVNNI |
+ FeatureHRESET | FeatureWIDEKL;
constexpr FeatureBitset FeaturesSierraforest =
FeaturesAlderlake | FeatureCMPCCXADD | FeatureAVXIFMA | FeatureUINTR |
- FeatureENQCMD | FeatureAVXNECONVERT | FeatureAVXVNNIINT8;
+ FeatureCLDEMOTE | FeatureENQCMD | FeatureAVXNECONVERT | FeatureAVXVNNIINT8;
constexpr FeatureBitset FeaturesArrowlakeS = FeaturesSierraforest |
FeatureAVXVNNIINT16 | FeatureSHA512 | FeatureSM3 | FeatureSM4;
constexpr FeatureBitset FeaturesPantherlake =
``````````
</details>
https://github.com/llvm/llvm-project/pull/144662
More information about the llvm-commits
mailing list