@@ -171,14 +171,14 @@ constexpr FeatureBitset FeaturesClearwaterforest =
171
171
172
172
// Geode Processor.
173
173
constexpr FeatureBitset FeaturesGeode =
174
- FeatureX87 | FeatureCMPXCHG8B | FeatureMMX | Feature3DNOW | Feature3DNOWA ;
174
+ FeatureX87 | FeatureCMPXCHG8B | FeatureMMX | FeaturePRFCHW ;
175
175
176
176
// K6 processor.
177
177
constexpr FeatureBitset FeaturesK6 = FeatureX87 | FeatureCMPXCHG8B | FeatureMMX;
178
178
179
179
// K7 and K8 architecture processors.
180
180
constexpr FeatureBitset FeaturesAthlon =
181
- FeatureX87 | FeatureCMPXCHG8B | FeatureMMX | Feature3DNOW | Feature3DNOWA ;
181
+ FeatureX87 | FeatureCMPXCHG8B | FeatureMMX | FeaturePRFCHW ;
182
182
constexpr FeatureBitset FeaturesAthlonXP =
183
183
FeaturesAthlon | FeatureFXSR | FeatureSSE;
184
184
constexpr FeatureBitset FeaturesK8 =
@@ -256,8 +256,8 @@ constexpr ProcInfo Processors[] = {
256
256
// i486-generation processors.
257
257
{ {" i486" }, CK_i486, ~0U , FeatureX87, ' \0 ' , false },
258
258
{ {" winchip-c6" }, CK_WinChipC6, ~0U , FeaturesPentiumMMX, ' \0 ' , false },
259
- { {" winchip2" }, CK_WinChip2, ~0U , FeaturesPentiumMMX | Feature3DNOW , ' \0 ' , false },
260
- { {" c3" }, CK_C3, ~0U , FeaturesPentiumMMX | Feature3DNOW , ' \0 ' , false },
259
+ { {" winchip2" }, CK_WinChip2, ~0U , FeaturesPentiumMMX | FeaturePRFCHW , ' \0 ' , false },
260
+ { {" c3" }, CK_C3, ~0U , FeaturesPentiumMMX | FeaturePRFCHW , ' \0 ' , false },
261
261
// i586-generation processors, P5 microarchitecture based.
262
262
{ {" i586" }, CK_i586, ~0U , FeatureX87 | FeatureCMPXCHG8B, ' \0 ' , false },
263
263
{ {" pentium" }, CK_Pentium, ~0U , FeatureX87 | FeatureCMPXCHG8B, ' B' , false },
@@ -386,8 +386,8 @@ constexpr ProcInfo Processors[] = {
386
386
{ {" lakemont" }, CK_Lakemont, ~0U , FeatureCMPXCHG8B, ' \0 ' , false },
387
387
// K6 architecture processors.
388
388
{ {" k6" }, CK_K6, ~0U , FeaturesK6, ' \0 ' , false },
389
- { {" k6-2" }, CK_K6_2, ~0U , FeaturesK6 | Feature3DNOW , ' \0 ' , false },
390
- { {" k6-3" }, CK_K6_3, ~0U , FeaturesK6 | Feature3DNOW , ' \0 ' , false },
389
+ { {" k6-2" }, CK_K6_2, ~0U , FeaturesK6 | FeaturePRFCHW , ' \0 ' , false },
390
+ { {" k6-3" }, CK_K6_3, ~0U , FeaturesK6 | FeaturePRFCHW , ' \0 ' , false },
391
391
// K7 architecture processors.
392
392
{ {" athlon" }, CK_Athlon, ~0U , FeaturesAthlon, ' \0 ' , false },
393
393
{ {" athlon-tbird" }, CK_Athlon, ~0U , FeaturesAthlon, ' \0 ' , false },
@@ -493,6 +493,7 @@ constexpr FeatureBitset ImpliedFeaturesFXSR = {};
493
493
constexpr FeatureBitset ImpliedFeaturesINVPCID = {};
494
494
constexpr FeatureBitset ImpliedFeaturesLWP = {};
495
495
constexpr FeatureBitset ImpliedFeaturesLZCNT = {};
496
+ constexpr FeatureBitset ImpliedFeaturesMMX = {};
496
497
constexpr FeatureBitset ImpliedFeaturesMWAITX = {};
497
498
constexpr FeatureBitset ImpliedFeaturesMOVBE = {};
498
499
constexpr FeatureBitset ImpliedFeaturesMOVDIR64B = {};
@@ -520,6 +521,8 @@ constexpr FeatureBitset ImpliedFeaturesWBNOINVD = {};
520
521
constexpr FeatureBitset ImpliedFeaturesVZEROUPPER = {};
521
522
constexpr FeatureBitset ImpliedFeaturesX87 = {};
522
523
constexpr FeatureBitset ImpliedFeaturesXSAVE = {};
524
+ constexpr FeatureBitset ImpliedFeaturesDUMMYFEATURE1 = {};
525
+ constexpr FeatureBitset ImpliedFeaturesDUMMYFEATURE2 = {};
523
526
524
527
// Not really CPU features, but need to be in the table because clang uses
525
528
// target features to communicate them to the backend.
@@ -534,11 +537,6 @@ constexpr FeatureBitset ImpliedFeaturesXSAVEC = FeatureXSAVE;
534
537
constexpr FeatureBitset ImpliedFeaturesXSAVEOPT = FeatureXSAVE;
535
538
constexpr FeatureBitset ImpliedFeaturesXSAVES = FeatureXSAVE;
536
539
537
- // MMX->3DNOW->3DNOWA chain.
538
- constexpr FeatureBitset ImpliedFeaturesMMX = {};
539
- constexpr FeatureBitset ImpliedFeatures3DNOW = FeatureMMX;
540
- constexpr FeatureBitset ImpliedFeatures3DNOWA = Feature3DNOW;
541
-
542
540
// SSE/AVX/AVX512F chain.
543
541
constexpr FeatureBitset ImpliedFeaturesSSE = {};
544
542
constexpr FeatureBitset ImpliedFeaturesSSE2 = FeatureSSE;
0 commit comments