@@ -66,15 +66,15 @@ constexpr X86FeatureBitset FeaturesNocona =
66
66
67
67
// Basic 64-bit capable CPU.
68
68
constexpr X86FeatureBitset FeaturesX86_64 = FeaturesPentium4 | Feature64BIT;
69
- constexpr X86FeatureBitset FeaturesX86_64_V2 = FeaturesX86_64 | FeatureSAHF |
70
- FeaturePOPCNT | FeatureCRC32 |
71
- FeatureSSE4_2 | FeatureCMPXCHG16B;
69
+ constexpr X86FeatureBitset FeaturesX86_64_V2 =
70
+ FeaturesX86_64 | FeatureSAHF | FeaturePOPCNT | FeatureCRC32 |
71
+ FeatureSSE4_2 | FeatureCMPXCHG16B;
72
72
constexpr X86FeatureBitset FeaturesX86_64_V3 =
73
73
FeaturesX86_64_V2 | FeatureAVX2 | FeatureBMI | FeatureBMI2 | FeatureF16C |
74
74
FeatureFMA | FeatureLZCNT | FeatureMOVBE | FeatureXSAVE;
75
- constexpr X86FeatureBitset FeaturesX86_64_V4 = FeaturesX86_64_V3 | FeatureEVEX512 |
76
- FeatureAVX512BW | FeatureAVX512CD |
77
- FeatureAVX512DQ | FeatureAVX512VL;
75
+ constexpr X86FeatureBitset FeaturesX86_64_V4 =
76
+ FeaturesX86_64_V3 | FeatureEVEX512 | FeatureAVX512BW | FeatureAVX512CD |
77
+ FeatureAVX512DQ | FeatureAVX512VL;
78
78
79
79
// Intel Core CPUs
80
80
constexpr X86FeatureBitset FeaturesCore2 =
@@ -162,8 +162,9 @@ constexpr X86FeatureBitset FeaturesAlderlake =
162
162
constexpr X86FeatureBitset FeaturesSierraforest =
163
163
FeaturesAlderlake | FeatureCMPCCXADD | FeatureAVXIFMA | FeatureUINTR |
164
164
FeatureENQCMD | FeatureAVXNECONVERT | FeatureAVXVNNIINT8;
165
- constexpr X86FeatureBitset FeaturesArrowlakeS = FeaturesSierraforest |
166
- FeatureAVXVNNIINT16 | FeatureSHA512 | FeatureSM3 | FeatureSM4;
165
+ constexpr X86FeatureBitset FeaturesArrowlakeS =
166
+ FeaturesSierraforest | FeatureAVXVNNIINT16 | FeatureSHA512 | FeatureSM3 |
167
+ FeatureSM4;
167
168
constexpr X86FeatureBitset FeaturesPantherlake =
168
169
FeaturesArrowlakeS | FeaturePREFETCHI;
169
170
constexpr X86FeatureBitset FeaturesClearwaterforest =
@@ -174,7 +175,8 @@ constexpr X86FeatureBitset FeaturesGeode =
174
175
FeatureX87 | FeatureCMPXCHG8B | FeatureMMX | Feature3DNOW | Feature3DNOWA;
175
176
176
177
// K6 processor.
177
- constexpr X86FeatureBitset FeaturesK6 = FeatureX87 | FeatureCMPXCHG8B | FeatureMMX;
178
+ constexpr X86FeatureBitset FeaturesK6 =
179
+ FeatureX87 | FeatureCMPXCHG8B | FeatureMMX;
178
180
179
181
// K7 and K8 architecture processors.
180
182
constexpr X86FeatureBitset FeaturesAthlon =
@@ -211,8 +213,8 @@ constexpr X86FeatureBitset FeaturesBDVER2 =
211
213
constexpr X86FeatureBitset FeaturesBDVER3 =
212
214
FeaturesBDVER2 | FeatureFSGSBASE | FeatureXSAVEOPT;
213
215
constexpr X86FeatureBitset FeaturesBDVER4 = FeaturesBDVER3 | FeatureAVX2 |
214
- FeatureBMI2 | FeatureMOVBE |
215
- FeatureMWAITX | FeatureRDRND;
216
+ FeatureBMI2 | FeatureMOVBE |
217
+ FeatureMWAITX | FeatureRDRND;
216
218
217
219
// AMD Zen architecture processors.
218
220
constexpr X86FeatureBitset FeaturesZNVER1 =
@@ -226,11 +228,11 @@ constexpr X86FeatureBitset FeaturesZNVER1 =
226
228
FeatureSSE4_2 | FeatureSSE4_A | FeatureXSAVE | FeatureXSAVEC |
227
229
FeatureXSAVEOPT | FeatureXSAVES;
228
230
constexpr X86FeatureBitset FeaturesZNVER2 = FeaturesZNVER1 | FeatureCLWB |
229
- FeatureRDPID | FeatureRDPRU |
230
- FeatureWBNOINVD;
231
- static constexpr X86FeatureBitset FeaturesZNVER3 = FeaturesZNVER2 |
232
- FeatureINVPCID | FeaturePKU |
233
- FeatureVAES | FeatureVPCLMULQDQ;
231
+ FeatureRDPID | FeatureRDPRU |
232
+ FeatureWBNOINVD;
233
+ static constexpr X86FeatureBitset FeaturesZNVER3 =
234
+ FeaturesZNVER2 | FeatureINVPCID | FeaturePKU | FeatureVAES |
235
+ FeatureVPCLMULQDQ;
234
236
static constexpr X86FeatureBitset FeaturesZNVER4 =
235
237
FeaturesZNVER3 | FeatureAVX512F | FeatureEVEX512 | FeatureAVX512CD |
236
238
FeatureAVX512DQ | FeatureAVX512BW | FeatureAVX512VL | FeatureAVX512IFMA |
@@ -561,7 +563,8 @@ constexpr X86FeatureBitset ImpliedFeaturesGFNI = FeatureSSE2;
561
563
constexpr X86FeatureBitset ImpliedFeaturesPCLMUL = FeatureSSE2;
562
564
constexpr X86FeatureBitset ImpliedFeaturesSHA = FeatureSSE2;
563
565
constexpr X86FeatureBitset ImpliedFeaturesVAES = FeatureAES | FeatureAVX2;
564
- constexpr X86FeatureBitset ImpliedFeaturesVPCLMULQDQ = FeatureAVX | FeaturePCLMUL;
566
+ constexpr X86FeatureBitset ImpliedFeaturesVPCLMULQDQ =
567
+ FeatureAVX | FeaturePCLMUL;
565
568
constexpr X86FeatureBitset ImpliedFeaturesSM3 = FeatureAVX;
566
569
constexpr X86FeatureBitset ImpliedFeaturesSM4 = FeatureAVX2;
567
570
0 commit comments