// 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[APX_F-12]
	_ = x[AVX-13]
	_ = x[AVX10-14]
	_ = x[AVX10_128-15]
	_ = x[AVX10_256-16]
	_ = x[AVX10_512-17]
	_ = x[AVX2-18]
	_ = x[AVX512BF16-19]
	_ = x[AVX512BITALG-20]
	_ = x[AVX512BW-21]
	_ = x[AVX512CD-22]
	_ = x[AVX512DQ-23]
	_ = x[AVX512ER-24]
	_ = x[AVX512F-25]
	_ = x[AVX512FP16-26]
	_ = x[AVX512IFMA-27]
	_ = x[AVX512PF-28]
	_ = x[AVX512VBMI-29]
	_ = x[AVX512VBMI2-30]
	_ = x[AVX512VL-31]
	_ = x[AVX512VNNI-32]
	_ = x[AVX512VP2INTERSECT-33]
	_ = x[AVX512VPOPCNTDQ-34]
	_ = x[AVXIFMA-35]
	_ = x[AVXNECONVERT-36]
	_ = x[AVXSLOW-37]
	_ = x[AVXVNNI-38]
	_ = x[AVXVNNIINT8-39]
	_ = x[AVXVNNIINT16-40]
	_ = x[BHI_CTRL-41]
	_ = x[BMI1-42]
	_ = x[BMI2-43]
	_ = x[CETIBT-44]
	_ = x[CETSS-45]
	_ = x[CLDEMOTE-46]
	_ = x[CLMUL-47]
	_ = x[CLZERO-48]
	_ = x[CMOV-49]
	_ = x[CMPCCXADD-50]
	_ = x[CMPSB_SCADBS_SHORT-51]
	_ = x[CMPXCHG8-52]
	_ = x[CPBOOST-53]
	_ = x[CPPC-54]
	_ = x[CX16-55]
	_ = x[EFER_LMSLE_UNS-56]
	_ = x[ENQCMD-57]
	_ = x[ERMS-58]
	_ = x[F16C-59]
	_ = x[FLUSH_L1D-60]
	_ = x[FMA3-61]
	_ = x[FMA4-62]
	_ = x[FP128-63]
	_ = x[FP256-64]
	_ = x[FSRM-65]
	_ = x[FXSR-66]
	_ = x[FXSROPT-67]
	_ = x[GFNI-68]
	_ = x[HLE-69]
	_ = x[HRESET-70]
	_ = x[HTT-71]
	_ = x[HWA-72]
	_ = x[HYBRID_CPU-73]
	_ = x[HYPERVISOR-74]
	_ = x[IA32_ARCH_CAP-75]
	_ = x[IA32_CORE_CAP-76]
	_ = x[IBPB-77]
	_ = x[IBPB_BRTYPE-78]
	_ = x[IBRS-79]
	_ = x[IBRS_PREFERRED-80]
	_ = x[IBRS_PROVIDES_SMP-81]
	_ = x[IBS-82]
	_ = x[IBSBRNTRGT-83]
	_ = x[IBSFETCHSAM-84]
	_ = x[IBSFFV-85]
	_ = x[IBSOPCNT-86]
	_ = x[IBSOPCNTEXT-87]
	_ = x[IBSOPSAM-88]
	_ = x[IBSRDWROPCNT-89]
	_ = x[IBSRIPINVALIDCHK-90]
	_ = x[IBS_FETCH_CTLX-91]
	_ = x[IBS_OPDATA4-92]
	_ = x[IBS_OPFUSE-93]
	_ = x[IBS_PREVENTHOST-94]
	_ = x[IBS_ZEN4-95]
	_ = x[IDPRED_CTRL-96]
	_ = x[INT_WBINVD-97]
	_ = x[INVLPGB-98]
	_ = x[KEYLOCKER-99]
	_ = x[KEYLOCKERW-100]
	_ = x[LAHF-101]
	_ = x[LAM-102]
	_ = x[LBRVIRT-103]
	_ = x[LZCNT-104]
	_ = x[MCAOVERFLOW-105]
	_ = x[MCDT_NO-106]
	_ = x[MCOMMIT-107]
	_ = x[MD_CLEAR-108]
	_ = x[MMX-109]
	_ = x[MMXEXT-110]
	_ = x[MOVBE-111]
	_ = x[MOVDIR64B-112]
	_ = x[MOVDIRI-113]
	_ = x[MOVSB_ZL-114]
	_ = x[MOVU-115]
	_ = x[MPX-116]
	_ = x[MSRIRC-117]
	_ = x[MSRLIST-118]
	_ = x[MSR_PAGEFLUSH-119]
	_ = x[NRIPS-120]
	_ = x[NX-121]
	_ = x[OSXSAVE-122]
	_ = x[PCONFIG-123]
	_ = x[POPCNT-124]
	_ = x[PPIN-125]
	_ = x[PREFETCHI-126]
	_ = x[PSFD-127]
	_ = x[RDPRU-128]
	_ = x[RDRAND-129]
	_ = x[RDSEED-130]
	_ = x[RDTSCP-131]
	_ = x[RRSBA_CTRL-132]
	_ = x[RTM-133]
	_ = x[RTM_ALWAYS_ABORT-134]
	_ = x[SBPB-135]
	_ = x[SERIALIZE-136]
	_ = x[SEV-137]
	_ = x[SEV_64BIT-138]
	_ = x[SEV_ALTERNATIVE-139]
	_ = x[SEV_DEBUGSWAP-140]
	_ = x[SEV_ES-141]
	_ = x[SEV_RESTRICTED-142]
	_ = x[SEV_SNP-143]
	_ = x[SGX-144]
	_ = x[SGXLC-145]
	_ = x[SHA-146]
	_ = x[SME-147]
	_ = x[SME_COHERENT-148]
	_ = x[SPEC_CTRL_SSBD-149]
	_ = x[SRBDS_CTRL-150]
	_ = x[SRSO_MSR_FIX-151]
	_ = x[SRSO_NO-152]
	_ = x[SRSO_USER_KERNEL_NO-153]
	_ = x[SSE-154]
	_ = x[SSE2-155]
	_ = x[SSE3-156]
	_ = x[SSE4-157]
	_ = x[SSE42-158]
	_ = x[SSE4A-159]
	_ = x[SSSE3-160]
	_ = x[STIBP-161]
	_ = x[STIBP_ALWAYSON-162]
	_ = x[STOSB_SHORT-163]
	_ = x[SUCCOR-164]
	_ = x[SVM-165]
	_ = x[SVMDA-166]
	_ = x[SVMFBASID-167]
	_ = x[SVML-168]
	_ = x[SVMNP-169]
	_ = x[SVMPF-170]
	_ = x[SVMPFT-171]
	_ = x[SYSCALL-172]
	_ = x[SYSEE-173]
	_ = x[TBM-174]
	_ = x[TDX_GUEST-175]
	_ = x[TLB_FLUSH_NESTED-176]
	_ = x[TME-177]
	_ = x[TOPEXT-178]
	_ = x[TSCRATEMSR-179]
	_ = x[TSXLDTRK-180]
	_ = x[VAES-181]
	_ = x[VMCBCLEAN-182]
	_ = x[VMPL-183]
	_ = x[VMSA_REGPROT-184]
	_ = x[VMX-185]
	_ = x[VPCLMULQDQ-186]
	_ = x[VTE-187]
	_ = x[WAITPKG-188]
	_ = x[WBNOINVD-189]
	_ = x[WRMSRNS-190]
	_ = x[X87-191]
	_ = x[XGETBV1-192]
	_ = x[XOP-193]
	_ = x[XSAVE-194]
	_ = x[XSAVEC-195]
	_ = x[XSAVEOPT-196]
	_ = x[XSAVES-197]
	_ = x[AESARM-198]
	_ = x[ARMCPUID-199]
	_ = x[ASIMD-200]
	_ = x[ASIMDDP-201]
	_ = x[ASIMDHP-202]
	_ = x[ASIMDRDM-203]
	_ = x[ATOMICS-204]
	_ = x[CRC32-205]
	_ = x[DCPOP-206]
	_ = x[EVTSTRM-207]
	_ = x[FCMA-208]
	_ = x[FHM-209]
	_ = x[FP-210]
	_ = x[FPHP-211]
	_ = x[GPA-212]
	_ = x[JSCVT-213]
	_ = x[LRCPC-214]
	_ = x[PMULL-215]
	_ = x[RNDR-216]
	_ = x[TLB-217]
	_ = x[TS-218]
	_ = x[SHA1-219]
	_ = x[SHA2-220]
	_ = x[SHA3-221]
	_ = x[SHA512-222]
	_ = x[SM3-223]
	_ = x[SM4-224]
	_ = x[SVE-225]
	_ = x[lastID-226]
	_ = x[firstID-0]
}

const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXFP8AMXTILEAMXTF32AMXCOMPLEXAPX_FAVXAVX10AVX10_128AVX10_256AVX10_512AVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8AVXVNNIINT16BHI_CTRLBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPCCXADDCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCPPCCX16EFER_LMSLE_UNSENQCMDERMSF16CFLUSH_L1DFMA3FMA4FP128FP256FSRMFXSRFXSROPTGFNIHLEHRESETHTTHWAHYBRID_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_SNPSGXSGXLCSHASMESME_COHERENTSPEC_CTRL_SSBDSRBDS_CTRLSRSO_MSR_FIXSRSO_NOSRSO_USER_KERNEL_NOSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTIBP_ALWAYSONSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTDX_GUESTTLB_FLUSH_NESTEDTMETOPEXTTSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFHMFPFPHPGPAJSCVTLRCPCPMULLRNDRTLBTSSHA1SHA2SHA3SHA512SM3SM4SVElastID"

var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 61, 68, 75, 85, 90, 93, 98, 107, 116, 125, 129, 139, 151, 159, 167, 175, 183, 190, 200, 210, 218, 228, 239, 247, 257, 275, 290, 297, 309, 316, 323, 334, 346, 354, 358, 362, 368, 373, 381, 386, 392, 396, 405, 423, 431, 438, 442, 446, 460, 466, 470, 474, 483, 487, 491, 496, 501, 505, 509, 516, 520, 523, 529, 532, 535, 545, 555, 568, 581, 585, 596, 600, 614, 631, 634, 644, 655, 661, 669, 680, 688, 700, 716, 730, 741, 751, 766, 774, 785, 795, 802, 811, 821, 825, 828, 835, 840, 851, 858, 865, 873, 876, 882, 887, 896, 903, 911, 915, 918, 924, 931, 944, 949, 951, 958, 965, 971, 975, 984, 988, 993, 999, 1005, 1011, 1021, 1024, 1040, 1044, 1053, 1056, 1065, 1080, 1093, 1099, 1113, 1120, 1123, 1128, 1131, 1134, 1146, 1160, 1170, 1182, 1189, 1208, 1211, 1215, 1219, 1223, 1228, 1233, 1238, 1243, 1257, 1268, 1274, 1277, 1282, 1291, 1295, 1300, 1305, 1311, 1318, 1323, 1326, 1335, 1351, 1354, 1360, 1370, 1378, 1382, 1391, 1395, 1407, 1410, 1420, 1423, 1430, 1438, 1445, 1448, 1455, 1458, 1463, 1469, 1477, 1483, 1489, 1497, 1502, 1509, 1516, 1524, 1531, 1536, 1541, 1548, 1552, 1555, 1557, 1561, 1564, 1569, 1574, 1579, 1583, 1586, 1588, 1592, 1596, 1600, 1606, 1609, 1612, 1615, 1621}

func (i FeatureID) String() string {
	if i < 0 || i >= FeatureID(len(_FeatureID_index)-1) {
		return "FeatureID(" + strconv.FormatInt(int64(i), 10) + ")"
	}
	return _FeatureID_name[_FeatureID_index[i]:_FeatureID_index[i+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[lastVendor-31]
}

const _Vendor_name = "VendorUnknownIntelAMDVIATransmetaNSCKVMMSVMVMwareXenHVMBhyveHygonSiSRDCAmpereARMBroadcomCaviumDECFujitsuInfineonMotorolaNVIDIAAMCCQualcommMarvellQEMUQNXACRNSREApplelastVendor"

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, 174}

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