Lines Matching refs:FeatureBitset
26 class FeatureBitset { class
34 constexpr FeatureBitset() = default;
35 constexpr FeatureBitset(std::initializer_list<unsigned> Init) { in FeatureBitset() function in __anonb7681b460111::FeatureBitset
44 constexpr FeatureBitset &set(unsigned I) { in set()
56 constexpr FeatureBitset &operator&=(const FeatureBitset &RHS) { in operator &=()
65 constexpr FeatureBitset &operator|=(const FeatureBitset &RHS) { in operator |=()
75 constexpr FeatureBitset operator&(const FeatureBitset &RHS) const { in operator &()
76 FeatureBitset Result; in operator &()
83 constexpr FeatureBitset operator|(const FeatureBitset &RHS) const { in operator |()
84 FeatureBitset Result; in operator |()
90 constexpr FeatureBitset operator~() const { in operator ~()
91 FeatureBitset Result; in operator ~()
97 constexpr bool operator!=(const FeatureBitset &RHS) const { in operator !=()
109 FeatureBitset Features;
114 FeatureBitset ImpliedFeatures;
120 constexpr FeatureBitset Feature##ENUM = {X86::FEATURE_##ENUM};
124 constexpr FeatureBitset FeaturesPentiumMMX =
128 constexpr FeatureBitset FeaturesPentium2 =
130 constexpr FeatureBitset FeaturesPentium3 = FeaturesPentium2 | FeatureSSE;
133 constexpr FeatureBitset FeaturesPentium4 = FeaturesPentium3 | FeatureSSE2;
134 constexpr FeatureBitset FeaturesPrescott = FeaturesPentium4 | FeatureSSE3;
135 constexpr FeatureBitset FeaturesNocona =
139 constexpr FeatureBitset FeaturesX86_64 = FeaturesPentium4 | Feature64BIT;
140 constexpr FeatureBitset FeaturesX86_64_V2 = FeaturesX86_64 | FeatureSAHF |
143 constexpr FeatureBitset FeaturesX86_64_V3 =
146 constexpr FeatureBitset FeaturesX86_64_V4 = FeaturesX86_64_V3 |
151 constexpr FeatureBitset FeaturesCore2 =
153 constexpr FeatureBitset FeaturesPenryn = FeaturesCore2 | FeatureSSE4_1;
154 constexpr FeatureBitset FeaturesNehalem =
156 constexpr FeatureBitset FeaturesWestmere = FeaturesNehalem | FeaturePCLMUL;
157 constexpr FeatureBitset FeaturesSandyBridge =
159 constexpr FeatureBitset FeaturesIvyBridge =
161 constexpr FeatureBitset FeaturesHaswell =
164 constexpr FeatureBitset FeaturesBroadwell =
169 constexpr FeatureBitset FeaturesKNL =
172 constexpr FeatureBitset FeaturesKNM = FeaturesKNL | FeatureAVX512VPOPCNTDQ;
175 constexpr FeatureBitset FeaturesSkylakeClient =
180 constexpr FeatureBitset FeaturesSkylakeServer =
184 constexpr FeatureBitset FeaturesCascadeLake =
186 constexpr FeatureBitset FeaturesCooperLake =
190 constexpr FeatureBitset FeaturesCannonlake =
194 constexpr FeatureBitset FeaturesICLClient =
198 constexpr FeatureBitset FeaturesICLServer =
200 constexpr FeatureBitset FeaturesTigerlake =
203 constexpr FeatureBitset FeaturesSapphireRapids =
209 constexpr FeatureBitset FeaturesAlderlake =
215 constexpr FeatureBitset FeaturesBonnell = FeaturesCore2 | FeatureMOVBE;
217 constexpr FeatureBitset FeaturesSilvermont =
219 constexpr FeatureBitset FeaturesGoldmont =
223 constexpr FeatureBitset FeaturesGoldmontPlus =
225 constexpr FeatureBitset FeaturesTremont =
229 constexpr FeatureBitset FeaturesGeode =
233 constexpr FeatureBitset FeaturesK6 = FeatureX87 | FeatureCMPXCHG8B | FeatureMMX;
236 constexpr FeatureBitset FeaturesAthlon =
238 constexpr FeatureBitset FeaturesAthlonXP =
240 constexpr FeatureBitset FeaturesK8 =
242 constexpr FeatureBitset FeaturesK8SSE3 = FeaturesK8 | FeatureSSE3;
243 constexpr FeatureBitset FeaturesAMDFAM10 =
248 constexpr FeatureBitset FeaturesBTVER1 =
253 constexpr FeatureBitset FeaturesBTVER2 =
258 constexpr FeatureBitset FeaturesBDVER1 =
264 constexpr FeatureBitset FeaturesBDVER2 =
266 constexpr FeatureBitset FeaturesBDVER3 =
268 constexpr FeatureBitset FeaturesBDVER4 = FeaturesBDVER3 | FeatureAVX2 |
273 constexpr FeatureBitset FeaturesZNVER1 =
283 constexpr FeatureBitset FeaturesZNVER2 =
285 static constexpr FeatureBitset FeaturesZNVER3 = FeaturesZNVER2 |
457 constexpr FeatureBitset ImpliedFeatures64BIT = {};
458 constexpr FeatureBitset ImpliedFeaturesADX = {};
459 constexpr FeatureBitset ImpliedFeaturesBMI = {};
460 constexpr FeatureBitset ImpliedFeaturesBMI2 = {};
461 constexpr FeatureBitset ImpliedFeaturesCLDEMOTE = {};
462 constexpr FeatureBitset ImpliedFeaturesCLFLUSHOPT = {};
463 constexpr FeatureBitset ImpliedFeaturesCLWB = {};
464 constexpr FeatureBitset ImpliedFeaturesCLZERO = {};
465 constexpr FeatureBitset ImpliedFeaturesCMOV = {};
466 constexpr FeatureBitset ImpliedFeaturesCMPXCHG16B = {};
467 constexpr FeatureBitset ImpliedFeaturesCMPXCHG8B = {};
468 constexpr FeatureBitset ImpliedFeaturesENQCMD = {};
469 constexpr FeatureBitset ImpliedFeaturesFSGSBASE = {};
470 constexpr FeatureBitset ImpliedFeaturesFXSR = {};
471 constexpr FeatureBitset ImpliedFeaturesINVPCID = {};
472 constexpr FeatureBitset ImpliedFeaturesLWP = {};
473 constexpr FeatureBitset ImpliedFeaturesLZCNT = {};
474 constexpr FeatureBitset ImpliedFeaturesMWAITX = {};
475 constexpr FeatureBitset ImpliedFeaturesMOVBE = {};
476 constexpr FeatureBitset ImpliedFeaturesMOVDIR64B = {};
477 constexpr FeatureBitset ImpliedFeaturesMOVDIRI = {};
478 constexpr FeatureBitset ImpliedFeaturesPCONFIG = {};
479 constexpr FeatureBitset ImpliedFeaturesPOPCNT = {};
480 constexpr FeatureBitset ImpliedFeaturesPKU = {};
481 constexpr FeatureBitset ImpliedFeaturesPREFETCHWT1 = {};
482 constexpr FeatureBitset ImpliedFeaturesPRFCHW = {};
483 constexpr FeatureBitset ImpliedFeaturesPTWRITE = {};
484 constexpr FeatureBitset ImpliedFeaturesRDPID = {};
485 constexpr FeatureBitset ImpliedFeaturesRDRND = {};
486 constexpr FeatureBitset ImpliedFeaturesRDSEED = {};
487 constexpr FeatureBitset ImpliedFeaturesRTM = {};
488 constexpr FeatureBitset ImpliedFeaturesSAHF = {};
489 constexpr FeatureBitset ImpliedFeaturesSERIALIZE = {};
490 constexpr FeatureBitset ImpliedFeaturesSGX = {};
491 constexpr FeatureBitset ImpliedFeaturesSHSTK = {};
492 constexpr FeatureBitset ImpliedFeaturesTBM = {};
493 constexpr FeatureBitset ImpliedFeaturesTSXLDTRK = {};
494 constexpr FeatureBitset ImpliedFeaturesUINTR = {};
495 constexpr FeatureBitset ImpliedFeaturesWAITPKG = {};
496 constexpr FeatureBitset ImpliedFeaturesWBNOINVD = {};
497 constexpr FeatureBitset ImpliedFeaturesVZEROUPPER = {};
498 constexpr FeatureBitset ImpliedFeaturesX87 = {};
499 constexpr FeatureBitset ImpliedFeaturesXSAVE = {};
503 constexpr FeatureBitset ImpliedFeaturesRETPOLINE_EXTERNAL_THUNK = {};
504 constexpr FeatureBitset ImpliedFeaturesRETPOLINE_INDIRECT_BRANCHES = {};
505 constexpr FeatureBitset ImpliedFeaturesRETPOLINE_INDIRECT_CALLS = {};
506 constexpr FeatureBitset ImpliedFeaturesLVI_CFI = {};
507 constexpr FeatureBitset ImpliedFeaturesLVI_LOAD_HARDENING = {};
510 constexpr FeatureBitset ImpliedFeaturesXSAVEC = FeatureXSAVE;
511 constexpr FeatureBitset ImpliedFeaturesXSAVEOPT = FeatureXSAVE;
512 constexpr FeatureBitset ImpliedFeaturesXSAVES = FeatureXSAVE;
515 constexpr FeatureBitset ImpliedFeaturesMMX = {};
516 constexpr FeatureBitset ImpliedFeatures3DNOW = FeatureMMX;
517 constexpr FeatureBitset ImpliedFeatures3DNOWA = Feature3DNOW;
520 constexpr FeatureBitset ImpliedFeaturesSSE = {};
521 constexpr FeatureBitset ImpliedFeaturesSSE2 = FeatureSSE;
522 constexpr FeatureBitset ImpliedFeaturesSSE3 = FeatureSSE2;
523 constexpr FeatureBitset ImpliedFeaturesSSSE3 = FeatureSSE3;
524 constexpr FeatureBitset ImpliedFeaturesSSE4_1 = FeatureSSSE3;
525 constexpr FeatureBitset ImpliedFeaturesSSE4_2 = FeatureSSE4_1;
526 constexpr FeatureBitset ImpliedFeaturesAVX = FeatureSSE4_2;
527 constexpr FeatureBitset ImpliedFeaturesAVX2 = FeatureAVX;
528 constexpr FeatureBitset ImpliedFeaturesAVX512F =
532 constexpr FeatureBitset ImpliedFeaturesAES = FeatureSSE2;
533 constexpr FeatureBitset ImpliedFeaturesF16C = FeatureAVX;
534 constexpr FeatureBitset ImpliedFeaturesFMA = FeatureAVX;
535 constexpr FeatureBitset ImpliedFeaturesGFNI = FeatureSSE2;
536 constexpr FeatureBitset ImpliedFeaturesPCLMUL = FeatureSSE2;
537 constexpr FeatureBitset ImpliedFeaturesSHA = FeatureSSE2;
538 constexpr FeatureBitset ImpliedFeaturesVAES = FeatureAES | FeatureAVX;
539 constexpr FeatureBitset ImpliedFeaturesVPCLMULQDQ = FeatureAVX | FeaturePCLMUL;
542 constexpr FeatureBitset ImpliedFeaturesAVX512CD = FeatureAVX512F;
543 constexpr FeatureBitset ImpliedFeaturesAVX512BW = FeatureAVX512F;
544 constexpr FeatureBitset ImpliedFeaturesAVX512DQ = FeatureAVX512F;
545 constexpr FeatureBitset ImpliedFeaturesAVX512ER = FeatureAVX512F;
546 constexpr FeatureBitset ImpliedFeaturesAVX512PF = FeatureAVX512F;
547 constexpr FeatureBitset ImpliedFeaturesAVX512VL = FeatureAVX512F;
549 constexpr FeatureBitset ImpliedFeaturesAVX512BF16 = FeatureAVX512BW;
550 constexpr FeatureBitset ImpliedFeaturesAVX512BITALG = FeatureAVX512BW;
551 constexpr FeatureBitset ImpliedFeaturesAVX512IFMA = FeatureAVX512F;
552 constexpr FeatureBitset ImpliedFeaturesAVX512VNNI = FeatureAVX512F;
553 constexpr FeatureBitset ImpliedFeaturesAVX512VPOPCNTDQ = FeatureAVX512F;
554 constexpr FeatureBitset ImpliedFeaturesAVX512VBMI = FeatureAVX512BW;
555 constexpr FeatureBitset ImpliedFeaturesAVX512VBMI2 = FeatureAVX512BW;
556 constexpr FeatureBitset ImpliedFeaturesAVX512VP2INTERSECT = FeatureAVX512F;
560 constexpr FeatureBitset ImpliedFeaturesAVX5124FMAPS = {};
561 constexpr FeatureBitset ImpliedFeaturesAVX5124VNNIW = {};
564 constexpr FeatureBitset ImpliedFeaturesSSE4_A = FeatureSSE3;
565 constexpr FeatureBitset ImpliedFeaturesFMA4 = FeatureAVX | FeatureSSE4_A;
566 constexpr FeatureBitset ImpliedFeaturesXOP = FeatureFMA4;
569 constexpr FeatureBitset ImpliedFeaturesAMX_TILE = {};
570 constexpr FeatureBitset ImpliedFeaturesAMX_BF16 = FeatureAMX_TILE;
571 constexpr FeatureBitset ImpliedFeaturesAMX_INT8 = FeatureAMX_TILE;
572 constexpr FeatureBitset ImpliedFeaturesHRESET = {};
575 constexpr FeatureBitset ImpliedFeaturesKL = FeatureSSE2;
576 constexpr FeatureBitset ImpliedFeaturesWIDEKL = FeatureKL;
579 constexpr FeatureBitset ImpliedFeaturesAVXVNNI = FeatureAVX2;
592 FeatureBitset Bits = I->Features; in getFeaturesForCPU()
605 static void getImpliedEnabledFeatures(FeatureBitset &Bits, in getImpliedEnabledFeatures()
606 const FeatureBitset &Implies) { in getImpliedEnabledFeatures()
610 FeatureBitset Prev; in getImpliedEnabledFeatures()
622 static void getImpliedDisabledFeatures(FeatureBitset &Bits, unsigned Value) { in getImpliedDisabledFeatures()
625 FeatureBitset Prev; in getImpliedDisabledFeatures()
646 FeatureBitset ImpliedBits; in updateImpliedFeatures()