Lines Matching defs:FeatureBitset

23 using FeatureBitset = Bitset<X86::CPU_FEATURE_MAX>;
29 FeatureBitset Features;
36 FeatureBitset ImpliedFeatures;
49 constexpr FeatureBitset Feature##ENUM = {X86::FEATURE_##ENUM};
53 constexpr FeatureBitset FeaturesPentiumMMX =
57 constexpr FeatureBitset FeaturesPentium2 =
59 constexpr FeatureBitset FeaturesPentium3 = FeaturesPentium2 | FeatureSSE;
62 constexpr FeatureBitset FeaturesPentium4 = FeaturesPentium3 | FeatureSSE2;
63 constexpr FeatureBitset FeaturesPrescott = FeaturesPentium4 | FeatureSSE3;
64 constexpr FeatureBitset FeaturesNocona =
68 constexpr FeatureBitset FeaturesX86_64 = FeaturesPentium4 | Feature64BIT;
69 constexpr FeatureBitset FeaturesX86_64_V2 = FeaturesX86_64 | FeatureSAHF |
72 constexpr FeatureBitset FeaturesX86_64_V3 =
75 constexpr FeatureBitset FeaturesX86_64_V4 = FeaturesX86_64_V3 | FeatureEVEX512 |
80 constexpr FeatureBitset FeaturesCore2 =
82 constexpr FeatureBitset FeaturesPenryn = FeaturesCore2 | FeatureSSE4_1;
83 constexpr FeatureBitset FeaturesNehalem =
85 constexpr FeatureBitset FeaturesWestmere = FeaturesNehalem | FeaturePCLMUL;
86 constexpr FeatureBitset FeaturesSandyBridge =
88 constexpr FeatureBitset FeaturesIvyBridge =
90 constexpr FeatureBitset FeaturesHaswell =
93 constexpr FeatureBitset FeaturesBroadwell =
98 constexpr FeatureBitset FeaturesKNL = FeaturesBroadwell | FeatureAES |
101 constexpr FeatureBitset FeaturesKNM = FeaturesKNL | FeatureAVX512VPOPCNTDQ;
104 constexpr FeatureBitset FeaturesSkylakeClient =
109 constexpr FeatureBitset FeaturesSkylakeServer =
113 constexpr FeatureBitset FeaturesCascadeLake =
115 constexpr FeatureBitset FeaturesCooperLake =
119 constexpr FeatureBitset FeaturesCannonlake =
123 constexpr FeatureBitset FeaturesICLClient =
127 constexpr FeatureBitset FeaturesRocketlake = FeaturesICLClient & ~FeatureSGX;
128 constexpr FeatureBitset FeaturesICLServer =
130 constexpr FeatureBitset FeaturesTigerlake =
133 constexpr FeatureBitset FeaturesSapphireRapids =
139 constexpr FeatureBitset FeaturesGraniteRapids =
141 constexpr FeatureBitset FeaturesDiamondRapids =
152 constexpr FeatureBitset FeaturesBonnell = FeaturesCore2 | FeatureMOVBE;
154 constexpr FeatureBitset FeaturesSilvermont =
156 constexpr FeatureBitset FeaturesGoldmont =
160 constexpr FeatureBitset FeaturesGoldmontPlus =
162 constexpr FeatureBitset FeaturesTremont =
164 constexpr FeatureBitset FeaturesAlderlake =
170 constexpr FeatureBitset FeaturesSierraforest =
173 constexpr FeatureBitset FeaturesArrowlakeS = FeaturesSierraforest |
175 constexpr FeatureBitset FeaturesPantherlake =
177 constexpr FeatureBitset FeaturesClearwaterforest =
181 constexpr FeatureBitset FeaturesGeode =
185 constexpr FeatureBitset FeaturesK6 = FeatureX87 | FeatureCMPXCHG8B | FeatureMMX;
188 constexpr FeatureBitset FeaturesAthlon =
190 constexpr FeatureBitset FeaturesAthlonXP =
192 constexpr FeatureBitset FeaturesK8 =
194 constexpr FeatureBitset FeaturesK8SSE3 = FeaturesK8 | FeatureSSE3;
195 constexpr FeatureBitset FeaturesAMDFAM10 =
200 constexpr FeatureBitset FeaturesBTVER1 =
205 constexpr FeatureBitset FeaturesBTVER2 =
210 constexpr FeatureBitset FeaturesBDVER1 =
217 constexpr FeatureBitset FeaturesBDVER2 =
219 constexpr FeatureBitset FeaturesBDVER3 =
221 constexpr FeatureBitset FeaturesBDVER4 = FeaturesBDVER3 | FeatureAVX2 |
226 constexpr FeatureBitset FeaturesZNVER1 =
236 constexpr FeatureBitset FeaturesZNVER2 = FeaturesZNVER1 | FeatureCLWB |
239 static constexpr FeatureBitset FeaturesZNVER3 = FeaturesZNVER2 |
242 static constexpr FeatureBitset FeaturesZNVER4 =
249 static constexpr FeatureBitset FeaturesZNVER5 =
493 constexpr FeatureBitset ImpliedFeatures64BIT = {};
494 constexpr FeatureBitset ImpliedFeaturesADX = {};
495 constexpr FeatureBitset ImpliedFeaturesBMI = {};
496 constexpr FeatureBitset ImpliedFeaturesBMI2 = {};
497 constexpr FeatureBitset ImpliedFeaturesCLDEMOTE = {};
498 constexpr FeatureBitset ImpliedFeaturesCLFLUSHOPT = {};
499 constexpr FeatureBitset ImpliedFeaturesCLWB = {};
500 constexpr FeatureBitset ImpliedFeaturesCLZERO = {};
501 constexpr FeatureBitset ImpliedFeaturesCMOV = {};
502 constexpr FeatureBitset ImpliedFeaturesCMPXCHG16B = {};
503 constexpr FeatureBitset ImpliedFeaturesCMPXCHG8B = {};
504 constexpr FeatureBitset ImpliedFeaturesCRC32 = {};
505 constexpr FeatureBitset ImpliedFeaturesENQCMD = {};
506 constexpr FeatureBitset ImpliedFeaturesFSGSBASE = {};
507 constexpr FeatureBitset ImpliedFeaturesFXSR = {};
508 constexpr FeatureBitset ImpliedFeaturesINVPCID = {};
509 constexpr FeatureBitset ImpliedFeaturesLWP = {};
510 constexpr FeatureBitset ImpliedFeaturesLZCNT = {};
511 constexpr FeatureBitset ImpliedFeaturesMMX = {};
512 constexpr FeatureBitset ImpliedFeaturesMWAITX = {};
513 constexpr FeatureBitset ImpliedFeaturesMOVBE = {};
514 constexpr FeatureBitset ImpliedFeaturesMOVDIR64B = {};
515 constexpr FeatureBitset ImpliedFeaturesMOVDIRI = {};
516 constexpr FeatureBitset ImpliedFeaturesPCONFIG = {};
517 constexpr FeatureBitset ImpliedFeaturesPOPCNT = {};
518 constexpr FeatureBitset ImpliedFeaturesPKU = {};
519 constexpr FeatureBitset ImpliedFeaturesPRFCHW = {};
520 constexpr FeatureBitset ImpliedFeaturesPTWRITE = {};
521 constexpr FeatureBitset ImpliedFeaturesRDPID = {};
522 constexpr FeatureBitset ImpliedFeaturesRDPRU = {};
523 constexpr FeatureBitset ImpliedFeaturesRDRND = {};
524 constexpr FeatureBitset ImpliedFeaturesRDSEED = {};
525 constexpr FeatureBitset ImpliedFeaturesRTM = {};
526 constexpr FeatureBitset ImpliedFeaturesSAHF = {};
527 constexpr FeatureBitset ImpliedFeaturesSERIALIZE = {};
528 constexpr FeatureBitset ImpliedFeaturesSGX = {};
529 constexpr FeatureBitset ImpliedFeaturesSHSTK = {};
530 constexpr FeatureBitset ImpliedFeaturesTBM = {};
531 constexpr FeatureBitset ImpliedFeaturesTSXLDTRK = {};
532 constexpr FeatureBitset ImpliedFeaturesUINTR = {};
533 constexpr FeatureBitset ImpliedFeaturesUSERMSR = {};
534 constexpr FeatureBitset ImpliedFeaturesWAITPKG = {};
535 constexpr FeatureBitset ImpliedFeaturesWBNOINVD = {};
536 constexpr FeatureBitset ImpliedFeaturesVZEROUPPER = {};
537 constexpr FeatureBitset ImpliedFeaturesX87 = {};
538 constexpr FeatureBitset ImpliedFeaturesXSAVE = {};
539 constexpr FeatureBitset ImpliedFeaturesDUMMYFEATURE1 = {};
540 constexpr FeatureBitset ImpliedFeaturesDUMMYFEATURE2 = {};
544 constexpr FeatureBitset ImpliedFeaturesRETPOLINE_EXTERNAL_THUNK = {};
545 constexpr FeatureBitset ImpliedFeaturesRETPOLINE_INDIRECT_BRANCHES = {};
546 constexpr FeatureBitset ImpliedFeaturesRETPOLINE_INDIRECT_CALLS = {};
547 constexpr FeatureBitset ImpliedFeaturesLVI_CFI = {};
548 constexpr FeatureBitset ImpliedFeaturesLVI_LOAD_HARDENING = {};
551 constexpr FeatureBitset ImpliedFeaturesXSAVEC = FeatureXSAVE;
552 constexpr FeatureBitset ImpliedFeaturesXSAVEOPT = FeatureXSAVE;
553 constexpr FeatureBitset ImpliedFeaturesXSAVES = FeatureXSAVE;
556 constexpr FeatureBitset ImpliedFeaturesSSE = {};
557 constexpr FeatureBitset ImpliedFeaturesSSE2 = FeatureSSE;
558 constexpr FeatureBitset ImpliedFeaturesSSE3 = FeatureSSE2;
559 constexpr FeatureBitset ImpliedFeaturesSSSE3 = FeatureSSE3;
560 constexpr FeatureBitset ImpliedFeaturesSSE4_1 = FeatureSSSE3;
561 constexpr FeatureBitset ImpliedFeaturesSSE4_2 = FeatureSSE4_1;
562 constexpr FeatureBitset ImpliedFeaturesAVX = FeatureSSE4_2;
563 constexpr FeatureBitset ImpliedFeaturesAVX2 = FeatureAVX;
564 constexpr FeatureBitset ImpliedFeaturesEVEX512 = {};
565 constexpr FeatureBitset ImpliedFeaturesAVX512F =
569 constexpr FeatureBitset ImpliedFeaturesAES = FeatureSSE2;
570 constexpr FeatureBitset ImpliedFeaturesF16C = FeatureAVX;
571 constexpr FeatureBitset ImpliedFeaturesFMA = FeatureAVX;
572 constexpr FeatureBitset ImpliedFeaturesGFNI = FeatureSSE2;
573 constexpr FeatureBitset ImpliedFeaturesPCLMUL = FeatureSSE2;
574 constexpr FeatureBitset ImpliedFeaturesSHA = FeatureSSE2;
575 constexpr FeatureBitset ImpliedFeaturesVAES = FeatureAES | FeatureAVX2;
576 constexpr FeatureBitset ImpliedFeaturesVPCLMULQDQ = FeatureAVX | FeaturePCLMUL;
577 constexpr FeatureBitset ImpliedFeaturesSM3 = FeatureAVX;
578 constexpr FeatureBitset ImpliedFeaturesSM4 = FeatureAVX2;
581 constexpr FeatureBitset ImpliedFeaturesAVX512CD = FeatureAVX512F;
582 constexpr FeatureBitset ImpliedFeaturesAVX512BW = FeatureAVX512F;
583 constexpr FeatureBitset ImpliedFeaturesAVX512DQ = FeatureAVX512F;
584 constexpr FeatureBitset ImpliedFeaturesAVX512VL = FeatureAVX512F;
586 constexpr FeatureBitset ImpliedFeaturesAVX512BF16 = FeatureAVX512BW;
587 constexpr FeatureBitset ImpliedFeaturesAVX512BITALG = FeatureAVX512BW;
588 constexpr FeatureBitset ImpliedFeaturesAVX512IFMA = FeatureAVX512F;
589 constexpr FeatureBitset ImpliedFeaturesAVX512VNNI = FeatureAVX512F;
590 constexpr FeatureBitset ImpliedFeaturesAVX512VPOPCNTDQ = FeatureAVX512F;
591 constexpr FeatureBitset ImpliedFeaturesAVX512VBMI = FeatureAVX512BW;
592 constexpr FeatureBitset ImpliedFeaturesAVX512VBMI2 = FeatureAVX512BW;
593 constexpr FeatureBitset ImpliedFeaturesAVX512VP2INTERSECT = FeatureAVX512F;
597 constexpr FeatureBitset ImpliedFeaturesAVX5124FMAPS = {};
598 constexpr FeatureBitset ImpliedFeaturesAVX5124VNNIW = {};
601 constexpr FeatureBitset ImpliedFeaturesSSE4_A = FeatureSSE3;
602 constexpr FeatureBitset ImpliedFeaturesFMA4 = FeatureAVX | FeatureSSE4_A;
603 constexpr FeatureBitset ImpliedFeaturesXOP = FeatureFMA4;
606 constexpr FeatureBitset ImpliedFeaturesAMX_TILE = {};
607 constexpr FeatureBitset ImpliedFeaturesAMX_BF16 = FeatureAMX_TILE;
608 constexpr FeatureBitset ImpliedFeaturesAMX_FP16 = FeatureAMX_TILE;
609 constexpr FeatureBitset ImpliedFeaturesAMX_INT8 = FeatureAMX_TILE;
610 constexpr FeatureBitset ImpliedFeaturesAMX_COMPLEX = FeatureAMX_TILE;
611 constexpr FeatureBitset ImpliedFeaturesAMX_FP8 = FeatureAMX_TILE;
612 constexpr FeatureBitset ImpliedFeaturesAMX_TRANSPOSE = FeatureAMX_TILE;
613 constexpr FeatureBitset ImpliedFeaturesAMX_MOVRS = FeatureAMX_TILE;
614 constexpr FeatureBitset ImpliedFeaturesAMX_AVX512 =
616 constexpr FeatureBitset ImpliedFeaturesAMX_TF32 = FeatureAMX_TILE;
617 constexpr FeatureBitset ImpliedFeaturesHRESET = {};
619 constexpr FeatureBitset ImpliedFeaturesPREFETCHI = {};
620 constexpr FeatureBitset ImpliedFeaturesCMPCCXADD = {};
621 constexpr FeatureBitset ImpliedFeaturesRAOINT = {};
622 constexpr FeatureBitset ImpliedFeaturesAVXVNNIINT16 = FeatureAVX2;
623 constexpr FeatureBitset ImpliedFeaturesAVXVNNIINT8 = FeatureAVX2;
624 constexpr FeatureBitset ImpliedFeaturesAVXIFMA = FeatureAVX2;
625 constexpr FeatureBitset ImpliedFeaturesAVXNECONVERT = FeatureAVX2;
626 constexpr FeatureBitset ImpliedFeaturesSHA512 = FeatureAVX2;
627 constexpr FeatureBitset ImpliedFeaturesAVX512FP16 =
630 constexpr FeatureBitset ImpliedFeaturesKL = FeatureSSE2;
631 constexpr FeatureBitset ImpliedFeaturesWIDEKL = FeatureKL;
634 constexpr FeatureBitset ImpliedFeaturesAVXVNNI = FeatureAVX2;
637 constexpr FeatureBitset ImpliedFeaturesAVX10_1 =
642 constexpr FeatureBitset ImpliedFeaturesAVX10_1_512 =
644 constexpr FeatureBitset ImpliedFeaturesAVX10_2 = FeatureAVX10_1;
645 constexpr FeatureBitset ImpliedFeaturesAVX10_2_512 =
649 constexpr FeatureBitset ImpliedFeaturesEGPR = {};
650 constexpr FeatureBitset ImpliedFeaturesPush2Pop2 = {};
651 constexpr FeatureBitset ImpliedFeaturesPPX = {};
652 constexpr FeatureBitset ImpliedFeaturesNDD = {};
653 constexpr FeatureBitset ImpliedFeaturesCCMP = {};
654 constexpr FeatureBitset ImpliedFeaturesNF = {};
655 constexpr FeatureBitset ImpliedFeaturesCF = {};
656 constexpr FeatureBitset ImpliedFeaturesZU = {};
658 constexpr FeatureBitset ImpliedFeaturesMOVRS = {};
672 FeatureBitset Bits = I->Features;
685 static void getImpliedEnabledFeatures(FeatureBitset &Bits,
686 const FeatureBitset &Implies) {
690 FeatureBitset Prev;
702 static void getImpliedDisabledFeatures(FeatureBitset &Bits, unsigned Value) {
705 FeatureBitset Prev;
727 FeatureBitset ImpliedBits;