// 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[BMI1-27]
	_ = x[BMI2-28]
	_ = x[CETIBT-29]
	_ = x[CETSS-30]
	_ = x[CLDEMOTE-31]
	_ = x[CLMUL-32]
	_ = x[CLZERO-33]
	_ = x[CMOV-34]
	_ = x[CMPXCHG8-35]
	_ = x[CPBOOST-36]
	_ = x[CX16-37]
	_ = x[ENQCMD-38]
	_ = x[ERMS-39]
	_ = x[F16C-40]
	_ = x[FMA3-41]
	_ = x[FMA4-42]
	_ = x[FXSR-43]
	_ = x[FXSROPT-44]
	_ = x[GFNI-45]
	_ = x[HLE-46]
	_ = x[HTT-47]
	_ = x[HWA-48]
	_ = x[HYPERVISOR-49]
	_ = x[IBPB-50]
	_ = x[IBS-51]
	_ = x[IBSBRNTRGT-52]
	_ = x[IBSFETCHSAM-53]
	_ = x[IBSFFV-54]
	_ = x[IBSOPCNT-55]
	_ = x[IBSOPCNTEXT-56]
	_ = x[IBSOPSAM-57]
	_ = x[IBSRDWROPCNT-58]
	_ = x[IBSRIPINVALIDCHK-59]
	_ = x[IBS_PREVENTHOST-60]
	_ = x[INT_WBINVD-61]
	_ = x[INVLPGB-62]
	_ = x[LAHF-63]
	_ = x[LZCNT-64]
	_ = x[MCAOVERFLOW-65]
	_ = x[MCOMMIT-66]
	_ = x[MMX-67]
	_ = x[MMXEXT-68]
	_ = x[MOVBE-69]
	_ = x[MOVDIR64B-70]
	_ = x[MOVDIRI-71]
	_ = x[MPX-72]
	_ = x[MSR_PAGEFLUSH-73]
	_ = x[MSRIRC-74]
	_ = x[NX-75]
	_ = x[OSXSAVE-76]
	_ = x[PCONFIG-77]
	_ = x[POPCNT-78]
	_ = x[RDPRU-79]
	_ = x[RDRAND-80]
	_ = x[RDSEED-81]
	_ = x[RDTSCP-82]
	_ = x[RTM-83]
	_ = x[RTM_ALWAYS_ABORT-84]
	_ = x[SCE-85]
	_ = x[SERIALIZE-86]
	_ = x[SEV-87]
	_ = x[SEV_64BIT-88]
	_ = x[SEV_ALTERNATIVE-89]
	_ = x[SEV_DEBUGSWAP-90]
	_ = x[SEV_ES-91]
	_ = x[SEV_RESTRICTED-92]
	_ = x[SEV_SNP-93]
	_ = x[SGX-94]
	_ = x[SGXLC-95]
	_ = x[SHA-96]
	_ = x[SME-97]
	_ = x[SME_COHERENT-98]
	_ = x[SSE-99]
	_ = x[SSE2-100]
	_ = x[SSE3-101]
	_ = x[SSE4-102]
	_ = x[SSE42-103]
	_ = x[SSE4A-104]
	_ = x[SSSE3-105]
	_ = x[STIBP-106]
	_ = x[SUCCOR-107]
	_ = x[TBM-108]
	_ = x[TME-109]
	_ = x[TSXLDTRK-110]
	_ = x[VAES-111]
	_ = x[VMPL-112]
	_ = x[VMSA_REGPROT-113]
	_ = x[VMX-114]
	_ = x[VPCLMULQDQ-115]
	_ = x[VTE-116]
	_ = x[WAITPKG-117]
	_ = x[WBNOINVD-118]
	_ = x[X87-119]
	_ = x[XGETBV1-120]
	_ = x[XOP-121]
	_ = x[XSAVE-122]
	_ = x[XSAVEC-123]
	_ = x[XSAVEOPT-124]
	_ = x[XSAVES-125]
	_ = x[AESARM-126]
	_ = x[ARMCPUID-127]
	_ = x[ASIMD-128]
	_ = x[ASIMDDP-129]
	_ = x[ASIMDHP-130]
	_ = x[ASIMDRDM-131]
	_ = x[ATOMICS-132]
	_ = x[CRC32-133]
	_ = x[DCPOP-134]
	_ = x[EVTSTRM-135]
	_ = x[FCMA-136]
	_ = x[FP-137]
	_ = x[FPHP-138]
	_ = x[GPA-139]
	_ = x[JSCVT-140]
	_ = x[LRCPC-141]
	_ = x[PMULL-142]
	_ = x[SHA1-143]
	_ = x[SHA2-144]
	_ = x[SHA3-145]
	_ = x[SHA512-146]
	_ = x[SM3-147]
	_ = x[SM4-148]
	_ = x[SVE-149]
	_ = x[lastID-150]
	_ = x[firstID-0]
}

const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXINT8AMXTILEAVXAVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXSLOWBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPXCHG8CPBOOSTCX16ENQCMDERMSF16CFMA3FMA4FXSRFXSROPTGFNIHLEHTTHWAHYPERVISORIBPBIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_PREVENTHOSTINT_WBINVDINVLPGBLAHFLZCNTMCAOVERFLOWMCOMMITMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMPXMSR_PAGEFLUSHMSRIRCNXOSXSAVEPCONFIGPOPCNTRDPRURDRANDRDSEEDRDTSCPRTMRTM_ALWAYS_ABORTSCESERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSHASMESME_COHERENTSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSUCCORTBMTMETSXLDTRKVAESVMPLVMSA_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, 234, 238, 244, 249, 257, 262, 268, 272, 280, 287, 291, 297, 301, 305, 309, 313, 317, 324, 328, 331, 334, 337, 347, 351, 354, 364, 375, 381, 389, 400, 408, 420, 436, 451, 461, 468, 472, 477, 488, 495, 498, 504, 509, 518, 525, 528, 541, 547, 549, 556, 563, 569, 574, 580, 586, 592, 595, 611, 614, 623, 626, 635, 650, 663, 669, 683, 690, 693, 698, 701, 704, 716, 719, 723, 727, 731, 736, 741, 746, 751, 757, 760, 763, 771, 775, 779, 791, 794, 804, 807, 814, 822, 825, 832, 835, 840, 846, 854, 860, 866, 874, 879, 886, 893, 901, 908, 913, 918, 925, 929, 931, 935, 938, 943, 948, 953, 957, 961, 965, 971, 974, 977, 980, 986}

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