// Code generated by "stringer -type=FeatureID,Vendor"; DO NOT EDIT.

package cpuid

import "strconv"

func _() {
	// An "invalid array index" compiler error signifies that the constant values have changed.
	// Re-run the stringer command to generate them again.
	var x [1]struct{}
	_ = x[ADX-1]
	_ = x[AESNI-2]
	_ = x[AMD3DNOW-3]
	_ = x[AMD3DNOWEXT-4]
	_ = x[AMXBF16-5]
	_ = x[AMXFP16-6]
	_ = x[AMXINT8-7]
	_ = x[AMXFP8-8]
	_ = x[AMXTILE-9]
	_ = x[AMXTF32-10]
	_ = x[AMXCOMPLEX-11]
	_ = x[AMXTRANSPOSE-12]
	_ = x[APX_F-13]
	_ = x[AVX-14]
	_ = x[AVX10-15]
	_ = x[AVX10_128-16]
	_ = x[AVX10_256-17]
	_ = x[AVX10_512-18]
	_ = x[AVX2-19]
	_ = x[AVX512BF16-20]
	_ = x[AVX512BITALG-21]
	_ = x[AVX512BMM-22]
	_ = x[AVX512BW-23]
	_ = x[AVX512CD-24]
	_ = x[AVX512DQ-25]
	_ = x[AVX512ER-26]
	_ = x[AVX512F-27]
	_ = x[AVX512FP16-28]
	_ = x[AVX512IFMA-29]
	_ = x[AVX512PF-30]
	_ = x[AVX512VBMI-31]
	_ = x[AVX512VBMI2-32]
	_ = x[AVX512VL-33]
	_ = x[AVX512VNNI-34]
	_ = x[AVX512VP2INTERSECT-35]
	_ = x[AVX512VPOPCNTDQ-36]
	_ = x[AVXIFMA-37]
	_ = x[AVXNECONVERT-38]
	_ = x[AVXSLOW-39]
	_ = x[AVXVNNI-40]
	_ = x[AVXVNNIINT8-41]
	_ = x[AVXVNNIINT16-42]
	_ = x[BHI_CTRL-43]
	_ = x[BMI1-44]
	_ = x[BMI2-45]
	_ = x[CETIBT-46]
	_ = x[CETSS-47]
	_ = x[CLDEMOTE-48]
	_ = x[CLMUL-49]
	_ = x[CLZERO-50]
	_ = x[CMOV-51]
	_ = x[CMPCCXADD-52]
	_ = x[CMPSB_SCADBS_SHORT-53]
	_ = x[CMPXCHG8-54]
	_ = x[CPBOOST-55]
	_ = x[CPPC-56]
	_ = x[CX16-57]
	_ = x[EFER_LMSLE_UNS-58]
	_ = x[ENQCMD-59]
	_ = x[ERMS-60]
	_ = x[F16C-61]
	_ = x[FLUSH_L1D-62]
	_ = x[FMA3-63]
	_ = x[FMA4-64]
	_ = x[FP128-65]
	_ = x[FP256-66]
	_ = x[FRED-67]
	_ = x[FSRM-68]
	_ = x[FXSR-69]
	_ = x[FXSROPT-70]
	_ = x[GFNI-71]
	_ = x[HLE-72]
	_ = x[HRESET-73]
	_ = x[HTT-74]
	_ = x[HWA-75]
	_ = x[HYBRID_CPU-76]
	_ = x[HYPERVISOR-77]
	_ = x[IA32_ARCH_CAP-78]
	_ = x[IA32_CORE_CAP-79]
	_ = x[IBPB-80]
	_ = x[IBPB_BRTYPE-81]
	_ = x[IBRS-82]
	_ = x[IBRS_PREFERRED-83]
	_ = x[IBRS_PROVIDES_SMP-84]
	_ = x[IBS-85]
	_ = x[IBSBRNTRGT-86]
	_ = x[IBSFETCHSAM-87]
	_ = x[IBSFFV-88]
	_ = x[IBSOPCNT-89]
	_ = x[IBSOPCNTEXT-90]
	_ = x[IBSOPSAM-91]
	_ = x[IBSRDWROPCNT-92]
	_ = x[IBSRIPINVALIDCHK-93]
	_ = x[IBS_FETCH_CTLX-94]
	_ = x[IBS_OPDATA4-95]
	_ = x[IBS_OPFUSE-96]
	_ = x[IBS_PREVENTHOST-97]
	_ = x[IBS_ZEN4-98]
	_ = x[IDPRED_CTRL-99]
	_ = x[INT_WBINVD-100]
	_ = x[INVLPGB-101]
	_ = x[KEYLOCKER-102]
	_ = x[KEYLOCKERW-103]
	_ = x[LAHF-104]
	_ = x[LAM-105]
	_ = x[LBRVIRT-106]
	_ = x[LZCNT-107]
	_ = x[MCAOVERFLOW-108]
	_ = x[MCDT_NO-109]
	_ = x[MCOMMIT-110]
	_ = x[MD_CLEAR-111]
	_ = x[MMX-112]
	_ = x[MMXEXT-113]
	_ = x[MOVBE-114]
	_ = x[MOVDIR64B-115]
	_ = x[MOVDIRI-116]
	_ = x[MOVSB_ZL-117]
	_ = x[MOVU-118]
	_ = x[MPX-119]
	_ = x[MSRIRC-120]
	_ = x[MSRLIST-121]
	_ = x[MSR_PAGEFLUSH-122]
	_ = x[NRIPS-123]
	_ = x[NX-124]
	_ = x[OSXSAVE-125]
	_ = x[PCONFIG-126]
	_ = x[POPCNT-127]
	_ = x[PPIN-128]
	_ = x[PREFETCHI-129]
	_ = x[PSFD-130]
	_ = x[RDPRU-131]
	_ = x[RDRAND-132]
	_ = x[RDSEED-133]
	_ = x[RDTSCP-134]
	_ = x[RRSBA_CTRL-135]
	_ = x[RTM-136]
	_ = x[RTM_ALWAYS_ABORT-137]
	_ = x[SBPB-138]
	_ = x[SERIALIZE-139]
	_ = x[SEV-140]
	_ = x[SEV_64BIT-141]
	_ = x[SEV_ALTERNATIVE-142]
	_ = x[SEV_DEBUGSWAP-143]
	_ = x[SEV_ES-144]
	_ = x[SEV_RESTRICTED-145]
	_ = x[SEV_SNP-146]
	_ = x[SGX-147]
	_ = x[SGXLC-148]
	_ = x[SGXPQC-149]
	_ = x[SHA-150]
	_ = x[SME-151]
	_ = x[SME_COHERENT-152]
	_ = x[SM3_X86-153]
	_ = x[SM4_X86-154]
	_ = x[SPEC_CTRL_SSBD-155]
	_ = x[SRBDS_CTRL-156]
	_ = x[SRSO_MSR_FIX-157]
	_ = x[SRSO_NO-158]
	_ = x[SRSO_USER_KERNEL_NO-159]
	_ = x[SSE-160]
	_ = x[SSE2-161]
	_ = x[SSE3-162]
	_ = x[SSE4-163]
	_ = x[SSE42-164]
	_ = x[SSE4A-165]
	_ = x[SSSE3-166]
	_ = x[STIBP-167]
	_ = x[STIBP_ALWAYSON-168]
	_ = x[STOSB_SHORT-169]
	_ = x[SUCCOR-170]
	_ = x[SVM-171]
	_ = x[SVMDA-172]
	_ = x[SVMFBASID-173]
	_ = x[SVML-174]
	_ = x[SVMNP-175]
	_ = x[SVMPF-176]
	_ = x[SVMPFT-177]
	_ = x[SYSCALL-178]
	_ = x[SYSEE-179]
	_ = x[TBM-180]
	_ = x[TDX_GUEST-181]
	_ = x[TLB_FLUSH_NESTED-182]
	_ = x[TME-183]
	_ = x[TOPEXT-184]
	_ = x[TSA_L1_NO-185]
	_ = x[TSA_SQ_NO-186]
	_ = x[TSA_VERW_CLEAR-187]
	_ = x[TSCRATEMSR-188]
	_ = x[TSXLDTRK-189]
	_ = x[VAES-190]
	_ = x[VMCBCLEAN-191]
	_ = x[VMPL-192]
	_ = x[VMSA_REGPROT-193]
	_ = x[VMX-194]
	_ = x[VPCLMULQDQ-195]
	_ = x[VTE-196]
	_ = x[WAITPKG-197]
	_ = x[WBNOINVD-198]
	_ = x[WRMSRNS-199]
	_ = x[X87-200]
	_ = x[XGETBV1-201]
	_ = x[XOP-202]
	_ = x[XSAVE-203]
	_ = x[XSAVEC-204]
	_ = x[XSAVEOPT-205]
	_ = x[XSAVES-206]
	_ = x[AESARM-207]
	_ = x[ARMCPUID-208]
	_ = x[ASIMD-209]
	_ = x[ASIMDDP-210]
	_ = x[ASIMDHP-211]
	_ = x[ASIMDRDM-212]
	_ = x[ATOMICS-213]
	_ = x[CRC32-214]
	_ = x[DCPOP-215]
	_ = x[EVTSTRM-216]
	_ = x[FCMA-217]
	_ = x[FHM-218]
	_ = x[FP-219]
	_ = x[FPHP-220]
	_ = x[GPA-221]
	_ = x[JSCVT-222]
	_ = x[LRCPC-223]
	_ = x[PMULL-224]
	_ = x[RNDR-225]
	_ = x[TLB-226]
	_ = x[TS-227]
	_ = x[SHA1-228]
	_ = x[SHA2-229]
	_ = x[SHA3-230]
	_ = x[SHA512-231]
	_ = x[SM3-232]
	_ = x[SM4-233]
	_ = x[SVE-234]
	_ = x[SVE2-235]
	_ = x[SB-236]
	_ = x[SSBS-237]
	_ = x[BTI-238]
	_ = x[FLAGM2-239]
	_ = x[FRINTTS-240]
	_ = x[DCPODP-241]
	_ = x[BF16-242]
	_ = x[I8MM-243]
	_ = x[WFXT-244]
	_ = x[MOPS-245]
	_ = x[HBC-246]
	_ = x[CSSC-247]
	_ = x[PMU_FIXEDCOUNTER_CYCLES-248]
	_ = x[PMU_FIXEDCOUNTER_REFCYCLES-249]
	_ = x[PMU_FIXEDCOUNTER_INSTRUCTIONS-250]
	_ = x[PMU_FIXEDCOUNTER_TOPDOWN_SLOTS-251]
	_ = x[RV_IMA-252]
	_ = x[RV_C-253]
	_ = x[RV_F-254]
	_ = x[RV_D-255]
	_ = x[RV_V-256]
	_ = x[RV_ZBA-257]
	_ = x[RV_ZBB-258]
	_ = x[RV_ZBC-259]
	_ = x[RV_ZBS-260]
	_ = x[RV_ZICOND-261]
	_ = x[RV_ZIHINTPAUSE-262]
	_ = x[RV_ZICBOM-263]
	_ = x[RV_ZICBOZ-264]
	_ = x[RV_ZICBOP-265]
	_ = x[RV_ZFA-266]
	_ = x[RV_ZFH-267]
	_ = x[RV_ZFHMIN-268]
	_ = x[RV_ZTSO-269]
	_ = x[RV_ZACAS-270]
	_ = x[RV_ZBKB-271]
	_ = x[RV_ZBKC-272]
	_ = x[RV_ZBKX-273]
	_ = x[RV_ZKND-274]
	_ = x[RV_ZKNE-275]
	_ = x[RV_ZKNH-276]
	_ = x[RV_ZKSED-277]
	_ = x[RV_ZKSH-278]
	_ = x[RV_ZKT-279]
	_ = x[RV_ZKN-280]
	_ = x[RV_ZKS-281]
	_ = x[RV_ZVBB-282]
	_ = x[RV_ZVBC-283]
	_ = x[RV_ZVKB-284]
	_ = x[RV_ZVKG-285]
	_ = x[RV_ZVKNED-286]
	_ = x[RV_ZVKNHA-287]
	_ = x[RV_ZVKNHB-288]
	_ = x[RV_ZVKSED-289]
	_ = x[RV_ZVKSH-290]
	_ = x[RV_ZVKT-291]
	_ = x[RV_ZVKNG-292]
	_ = x[RV_ZVKSG-293]
	_ = x[lastID-294]
	_ = x[firstID-0]
}

const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXFP8AMXTILEAMXTF32AMXCOMPLEXAMXTRANSPOSEAPX_FAVXAVX10AVX10_128AVX10_256AVX10_512AVX2AVX512BF16AVX512BITALGAVX512BMMAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8AVXVNNIINT16BHI_CTRLBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPCCXADDCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCPPCCX16EFER_LMSLE_UNSENQCMDERMSF16CFLUSH_L1DFMA3FMA4FP128FP256FREDFSRMFXSRFXSROPTGFNIHLEHRESETHTTHWAHYBRID_CPUHYPERVISORIA32_ARCH_CAPIA32_CORE_CAPIBPBIBPB_BRTYPEIBRSIBRS_PREFERREDIBRS_PROVIDES_SMPIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_FETCH_CTLXIBS_OPDATA4IBS_OPFUSEIBS_PREVENTHOSTIBS_ZEN4IDPRED_CTRLINT_WBINVDINVLPGBKEYLOCKERKEYLOCKERWLAHFLAMLBRVIRTLZCNTMCAOVERFLOWMCDT_NOMCOMMITMD_CLEARMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMOVSB_ZLMOVUMPXMSRIRCMSRLISTMSR_PAGEFLUSHNRIPSNXOSXSAVEPCONFIGPOPCNTPPINPREFETCHIPSFDRDPRURDRANDRDSEEDRDTSCPRRSBA_CTRLRTMRTM_ALWAYS_ABORTSBPBSERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSGXPQCSHASMESME_COHERENTSM3_X86SM4_X86SPEC_CTRL_SSBDSRBDS_CTRLSRSO_MSR_FIXSRSO_NOSRSO_USER_KERNEL_NOSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTIBP_ALWAYSONSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTDX_GUESTTLB_FLUSH_NESTEDTMETOPEXTTSA_L1_NOTSA_SQ_NOTSA_VERW_CLEARTSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFHMFPFPHPGPAJSCVTLRCPCPMULLRNDRTLBTSSHA1SHA2SHA3SHA512SM3SM4SVESVE2SBSSBSBTIFLAGM2FRINTTSDCPODPBF16I8MMWFXTMOPSHBCCSSCPMU_FIXEDCOUNTER_CYCLESPMU_FIXEDCOUNTER_REFCYCLESPMU_FIXEDCOUNTER_INSTRUCTIONSPMU_FIXEDCOUNTER_TOPDOWN_SLOTSRV_IMARV_CRV_FRV_DRV_VRV_ZBARV_ZBBRV_ZBCRV_ZBSRV_ZICONDRV_ZIHINTPAUSERV_ZICBOMRV_ZICBOZRV_ZICBOPRV_ZFARV_ZFHRV_ZFHMINRV_ZTSORV_ZACASRV_ZBKBRV_ZBKCRV_ZBKXRV_ZKNDRV_ZKNERV_ZKNHRV_ZKSEDRV_ZKSHRV_ZKTRV_ZKNRV_ZKSRV_ZVBBRV_ZVBCRV_ZVKBRV_ZVKGRV_ZVKNEDRV_ZVKNHARV_ZVKNHBRV_ZVKSEDRV_ZVKSHRV_ZVKTRV_ZVKNGRV_ZVKSGlastID"

var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 61, 68, 75, 85, 97, 102, 105, 110, 119, 128, 137, 141, 151, 163, 172, 180, 188, 196, 204, 211, 221, 231, 239, 249, 260, 268, 278, 296, 311, 318, 330, 337, 344, 355, 367, 375, 379, 383, 389, 394, 402, 407, 413, 417, 426, 444, 452, 459, 463, 467, 481, 487, 491, 495, 504, 508, 512, 517, 522, 526, 530, 534, 541, 545, 548, 554, 557, 560, 570, 580, 593, 606, 610, 621, 625, 639, 656, 659, 669, 680, 686, 694, 705, 713, 725, 741, 755, 766, 776, 791, 799, 810, 820, 827, 836, 846, 850, 853, 860, 865, 876, 883, 890, 898, 901, 907, 912, 921, 928, 936, 940, 943, 949, 956, 969, 974, 976, 983, 990, 996, 1000, 1009, 1013, 1018, 1024, 1030, 1036, 1046, 1049, 1065, 1069, 1078, 1081, 1090, 1105, 1118, 1124, 1138, 1145, 1148, 1153, 1159, 1162, 1165, 1177, 1184, 1191, 1205, 1215, 1227, 1234, 1253, 1256, 1260, 1264, 1268, 1273, 1278, 1283, 1288, 1302, 1313, 1319, 1322, 1327, 1336, 1340, 1345, 1350, 1356, 1363, 1368, 1371, 1380, 1396, 1399, 1405, 1414, 1423, 1437, 1447, 1455, 1459, 1468, 1472, 1484, 1487, 1497, 1500, 1507, 1515, 1522, 1525, 1532, 1535, 1540, 1546, 1554, 1560, 1566, 1574, 1579, 1586, 1593, 1601, 1608, 1613, 1618, 1625, 1629, 1632, 1634, 1638, 1641, 1646, 1651, 1656, 1660, 1663, 1665, 1669, 1673, 1677, 1683, 1686, 1689, 1692, 1696, 1698, 1702, 1705, 1711, 1718, 1724, 1728, 1732, 1736, 1740, 1743, 1747, 1770, 1796, 1825, 1855, 1861, 1865, 1869, 1873, 1877, 1883, 1889, 1895, 1901, 1910, 1924, 1933, 1942, 1951, 1957, 1963, 1972, 1979, 1987, 1994, 2001, 2008, 2015, 2022, 2029, 2037, 2044, 2050, 2056, 2062, 2069, 2076, 2083, 2090, 2099, 2108, 2117, 2126, 2134, 2141, 2149, 2157, 2163}

func (i FeatureID) String() string {
	idx := int(i) - 0
	if i < 0 || idx >= len(_FeatureID_index)-1 {
		return "FeatureID(" + strconv.FormatInt(int64(i), 10) + ")"
	}
	return _FeatureID_name[_FeatureID_index[idx]:_FeatureID_index[idx+1]]
}
func _() {
	// An "invalid array index" compiler error signifies that the constant values have changed.
	// Re-run the stringer command to generate them again.
	var x [1]struct{}
	_ = x[VendorUnknown-0]
	_ = x[Intel-1]
	_ = x[AMD-2]
	_ = x[VIA-3]
	_ = x[Transmeta-4]
	_ = x[NSC-5]
	_ = x[KVM-6]
	_ = x[MSVM-7]
	_ = x[VMware-8]
	_ = x[XenHVM-9]
	_ = x[Bhyve-10]
	_ = x[Hygon-11]
	_ = x[SiS-12]
	_ = x[RDC-13]
	_ = x[Ampere-14]
	_ = x[ARM-15]
	_ = x[Broadcom-16]
	_ = x[Cavium-17]
	_ = x[DEC-18]
	_ = x[Fujitsu-19]
	_ = x[Infineon-20]
	_ = x[Motorola-21]
	_ = x[NVIDIA-22]
	_ = x[AMCC-23]
	_ = x[Qualcomm-24]
	_ = x[Marvell-25]
	_ = x[QEMU-26]
	_ = x[QNX-27]
	_ = x[ACRN-28]
	_ = x[SRE-29]
	_ = x[Apple-30]
	_ = x[SiFive-31]
	_ = x[StarFive-32]
	_ = x[THead-33]
	_ = x[Andes-34]
	_ = x[SpacemiT-35]
	_ = x[lastVendor-36]
}

const _Vendor_name = "VendorUnknownIntelAMDVIATransmetaNSCKVMMSVMVMwareXenHVMBhyveHygonSiSRDCAmpereARMBroadcomCaviumDECFujitsuInfineonMotorolaNVIDIAAMCCQualcommMarvellQEMUQNXACRNSREAppleSiFiveStarFiveTHeadAndesSpacemiTlastVendor"

var _Vendor_index = [...]uint8{0, 13, 18, 21, 24, 33, 36, 39, 43, 49, 55, 60, 65, 68, 71, 77, 80, 88, 94, 97, 104, 112, 120, 126, 130, 138, 145, 149, 152, 156, 159, 164, 170, 178, 183, 188, 196, 206}

func (i Vendor) String() string {
	idx := int(i) - 0
	if i < 0 || idx >= len(_Vendor_index)-1 {
		return "Vendor(" + strconv.FormatInt(int64(i), 10) + ")"
	}
	return _Vendor_name[_Vendor_index[idx]:_Vendor_index[idx+1]]
}
