[clang] [compiler-rt] [llvm] [X86] Sync multiversion features with libgcc and refactor internal feature tables (PR #168750)
Mikołaj Piróg via cfe-commits
cfe-commits at lists.llvm.org
Thu Nov 20 08:57:01 PST 2025
================
@@ -556,6 +550,10 @@ constexpr FeatureBitset ImpliedFeaturesRETPOLINE_INDIRECT_BRANCHES = {};
constexpr FeatureBitset ImpliedFeaturesRETPOLINE_INDIRECT_CALLS = {};
constexpr FeatureBitset ImpliedFeaturesLVI_CFI = {};
constexpr FeatureBitset ImpliedFeaturesLVI_LOAD_HARDENING = {};
+constexpr FeatureBitset ImpliedFeaturesX86_64_BASELINE = {};
+constexpr FeatureBitset ImpliedFeaturesX86_64_V2 = {};
+constexpr FeatureBitset ImpliedFeaturesX86_64_V3 = {};
+constexpr FeatureBitset ImpliedFeaturesX86_64_V4 = {};
----------------
mikolaj-pirog wrote:
They are defined because of array on line 667:
```c
constexpr FeatureInfo FeatureInfos[CPU_FEATURE_MAX] = {
#define X86_FEATURE(ENUM, STR) {{"+" STR}, ImpliedFeatures##ENUM},
#include "llvm/TargetParser/X86TargetParser.def"
};
```
Because MICROARCH_LEVEL macro was merged to X86_FEATURE_COMPAT, they are now included in this table. I believe this is cleaner solution than having a separate macro
https://github.com/llvm/llvm-project/pull/168750
More information about the cfe-commits
mailing list