// 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[AMXINT8-6]
	_ = x[AMXTILE-7]
	_ = x[AVX-8]
	_ = x[AVX2-9]
	_ = x[AVX512BF16-10]
	_ = x[AVX512BITALG-11]
	_ = x[AVX512BW-12]
	_ = x[AVX512CD-13]
	_ = x[AVX512DQ-14]
	_ = x[AVX512ER-15]
	_ = x[AVX512F-16]
	_ = x[AVX512FP16-17]
	_ = x[AVX512IFMA-18]
	_ = x[AVX512PF-19]
	_ = x[AVX512VBMI-20]
	_ = x[AVX512VBMI2-21]
	_ = x[AVX512VL-22]
	_ = x[AVX512VNNI-23]
	_ = x[AVX512VP2INTERSECT-24]
	_ = x[AVX512VPOPCNTDQ-25]
	_ = x[AVXSLOW-26]
	_ = x[AVXVNNI-27]
	_ = x[BMI1-28]
	_ = x[BMI2-29]
	_ = x[CETIBT-30]
	_ = x[CETSS-31]
	_ = x[CLDEMOTE-32]
	_ = x[CLMUL-33]
	_ = x[CLZERO-34]
	_ = x[CMOV-35]
	_ = x[CMPSB_SCADBS_SHORT-36]
	_ = x[CMPXCHG8-37]
	_ = x[CPBOOST-38]
	_ = x[CX16-39]
	_ = x[ENQCMD-40]
	_ = x[ERMS-41]
	_ = x[F16C-42]
	_ = x[FMA3-43]
	_ = x[FMA4-44]
	_ = x[FXSR-45]
	_ = x[FXSROPT-46]
	_ = x[GFNI-47]
	_ = x[HLE-48]
	_ = x[HRESET-49]
	_ = x[HTT-50]
	_ = x[HWA-51]
	_ = x[HYPERVISOR-52]
	_ = x[IBPB-53]
	_ = x[IBS-54]
	_ = x[IBSBRNTRGT-55]
	_ = x[IBSFETCHSAM-56]
	_ = x[IBSFFV-57]
	_ = x[IBSOPCNT-58]
	_ = x[IBSOPCNTEXT-59]
	_ = x[IBSOPSAM-60]
	_ = x[IBSRDWROPCNT-61]
	_ = x[IBSRIPINVALIDCHK-62]
	_ = x[IBS_PREVENTHOST-63]
	_ = x[INT_WBINVD-64]
	_ = x[INVLPGB-65]
	_ = x[LAHF-66]
	_ = x[LAM-67]
	_ = x[LBRVIRT-68]
	_ = x[LZCNT-69]
	_ = x[MCAOVERFLOW-70]
	_ = x[MCOMMIT-71]
	_ = x[MMX-72]
	_ = x[MMXEXT-73]
	_ = x[MOVBE-74]
	_ = x[MOVDIR64B-75]
	_ = x[MOVDIRI-76]
	_ = x[MOVSB_ZL-77]
	_ = x[MPX-78]
	_ = x[MSRIRC-79]
	_ = x[MSR_PAGEFLUSH-80]
	_ = x[NRIPS-81]
	_ = x[NX-82]
	_ = x[OSXSAVE-83]
	_ = x[PCONFIG-84]
	_ = x[POPCNT-85]
	_ = x[RDPRU-86]
	_ = x[RDRAND-87]
	_ = x[RDSEED-88]
	_ = x[RDTSCP-89]
	_ = x[RTM-90]
	_ = x[RTM_ALWAYS_ABORT-91]
	_ = x[SERIALIZE-92]
	_ = x[SEV-93]
	_ = x[SEV_64BIT-94]
	_ = x[SEV_ALTERNATIVE-95]
	_ = x[SEV_DEBUGSWAP-96]
	_ = x[SEV_ES-97]
	_ = x[SEV_RESTRICTED-98]
	_ = x[SEV_SNP-99]
	_ = x[SGX-100]
	_ = x[SGXLC-101]
	_ = x[SHA-102]
	_ = x[SME-103]
	_ = x[SME_COHERENT-104]
	_ = x[SSE-105]
	_ = x[SSE2-106]
	_ = x[SSE3-107]
	_ = x[SSE4-108]
	_ = x[SSE42-109]
	_ = x[SSE4A-110]
	_ = x[SSSE3-111]
	_ = x[STIBP-112]
	_ = x[STOSB_SHORT-113]
	_ = x[SUCCOR-114]
	_ = x[SVM-115]
	_ = x[SVMDA-116]
	_ = x[SVMFBASID-117]
	_ = x[SVML-118]
	_ = x[SVMNP-119]
	_ = x[SVMPF-120]
	_ = x[SVMPFT-121]
	_ = x[SYSCALL-122]
	_ = x[SYSEE-123]
	_ = x[TBM-124]
	_ = x[TOPEXT-125]
	_ = x[TME-126]
	_ = x[TSCRATEMSR-127]
	_ = x[TSXLDTRK-128]
	_ = x[VAES-129]
	_ = x[VMCBCLEAN-130]
	_ = x[VMPL-131]
	_ = x[VMSA_REGPROT-132]
	_ = x[VMX-133]
	_ = x[VPCLMULQDQ-134]
	_ = x[VTE-135]
	_ = x[WAITPKG-136]
	_ = x[WBNOINVD-137]
	_ = x[X87-138]
	_ = x[XGETBV1-139]
	_ = x[XOP-140]
	_ = x[XSAVE-141]
	_ = x[XSAVEC-142]
	_ = x[XSAVEOPT-143]
	_ = x[XSAVES-144]
	_ = x[AESARM-145]
	_ = x[ARMCPUID-146]
	_ = x[ASIMD-147]
	_ = x[ASIMDDP-148]
	_ = x[ASIMDHP-149]
	_ = x[ASIMDRDM-150]
	_ = x[ATOMICS-151]
	_ = x[CRC32-152]
	_ = x[DCPOP-153]
	_ = x[EVTSTRM-154]
	_ = x[FCMA-155]
	_ = x[FP-156]
	_ = x[FPHP-157]
	_ = x[GPA-158]
	_ = x[JSCVT-159]
	_ = x[LRCPC-160]
	_ = x[PMULL-161]
	_ = x[SHA1-162]
	_ = x[SHA2-163]
	_ = x[SHA3-164]
	_ = x[SHA512-165]
	_ = x[SM3-166]
	_ = x[SM4-167]
	_ = x[SVE-168]
	_ = x[lastID-169]
	_ = x[firstID-0]
}

const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXINT8AMXTILEAVXAVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXSLOWAVXVNNIBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCX16ENQCMDERMSF16CFMA3FMA4FXSRFXSROPTGFNIHLEHRESETHTTHWAHYPERVISORIBPBIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_PREVENTHOSTINT_WBINVDINVLPGBLAHFLAMLBRVIRTLZCNTMCAOVERFLOWMCOMMITMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMOVSB_ZLMPXMSRIRCMSR_PAGEFLUSHNRIPSNXOSXSAVEPCONFIGPOPCNTRDPRURDRANDRDSEEDRDTSCPRTMRTM_ALWAYS_ABORTSERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSHASMESME_COHERENTSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTOPEXTTMETSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFPFPHPGPAJSCVTLRCPCPMULLSHA1SHA2SHA3SHA512SM3SM4SVElastID"

var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 58, 62, 72, 84, 92, 100, 108, 116, 123, 133, 143, 151, 161, 172, 180, 190, 208, 223, 230, 237, 241, 245, 251, 256, 264, 269, 275, 279, 297, 305, 312, 316, 322, 326, 330, 334, 338, 342, 349, 353, 356, 362, 365, 368, 378, 382, 385, 395, 406, 412, 420, 431, 439, 451, 467, 482, 492, 499, 503, 506, 513, 518, 529, 536, 539, 545, 550, 559, 566, 574, 577, 583, 596, 601, 603, 610, 617, 623, 628, 634, 640, 646, 649, 665, 674, 677, 686, 701, 714, 720, 734, 741, 744, 749, 752, 755, 767, 770, 774, 778, 782, 787, 792, 797, 802, 813, 819, 822, 827, 836, 840, 845, 850, 856, 863, 868, 871, 877, 880, 890, 898, 902, 911, 915, 927, 930, 940, 943, 950, 958, 961, 968, 971, 976, 982, 990, 996, 1002, 1010, 1015, 1022, 1029, 1037, 1044, 1049, 1054, 1061, 1065, 1067, 1071, 1074, 1079, 1084, 1089, 1093, 1097, 1101, 1107, 1110, 1113, 1116, 1122}

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[lastVendor-26]
}

const _Vendor_name = "VendorUnknownIntelAMDVIATransmetaNSCKVMMSVMVMwareXenHVMBhyveHygonSiSRDCAmpereARMBroadcomCaviumDECFujitsuInfineonMotorolaNVIDIAAMCCQualcommMarvelllastVendor"

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

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]]
}
