1
2
3 package cpuid
4
5 import "strconv"
6
7 func _() {
8
9
10 var x [1]struct{}
11 _ = x[ADX-1]
12 _ = x[AESNI-2]
13 _ = x[AMD3DNOW-3]
14 _ = x[AMD3DNOWEXT-4]
15 _ = x[AMXBF16-5]
16 _ = x[AMXFP16-6]
17 _ = x[AMXINT8-7]
18 _ = x[AMXTILE-8]
19 _ = x[APX_F-9]
20 _ = x[AVX-10]
21 _ = x[AVX10-11]
22 _ = x[AVX10_128-12]
23 _ = x[AVX10_256-13]
24 _ = x[AVX10_512-14]
25 _ = x[AVX2-15]
26 _ = x[AVX512BF16-16]
27 _ = x[AVX512BITALG-17]
28 _ = x[AVX512BW-18]
29 _ = x[AVX512CD-19]
30 _ = x[AVX512DQ-20]
31 _ = x[AVX512ER-21]
32 _ = x[AVX512F-22]
33 _ = x[AVX512FP16-23]
34 _ = x[AVX512IFMA-24]
35 _ = x[AVX512PF-25]
36 _ = x[AVX512VBMI-26]
37 _ = x[AVX512VBMI2-27]
38 _ = x[AVX512VL-28]
39 _ = x[AVX512VNNI-29]
40 _ = x[AVX512VP2INTERSECT-30]
41 _ = x[AVX512VPOPCNTDQ-31]
42 _ = x[AVXIFMA-32]
43 _ = x[AVXNECONVERT-33]
44 _ = x[AVXSLOW-34]
45 _ = x[AVXVNNI-35]
46 _ = x[AVXVNNIINT8-36]
47 _ = x[BHI_CTRL-37]
48 _ = x[BMI1-38]
49 _ = x[BMI2-39]
50 _ = x[CETIBT-40]
51 _ = x[CETSS-41]
52 _ = x[CLDEMOTE-42]
53 _ = x[CLMUL-43]
54 _ = x[CLZERO-44]
55 _ = x[CMOV-45]
56 _ = x[CMPCCXADD-46]
57 _ = x[CMPSB_SCADBS_SHORT-47]
58 _ = x[CMPXCHG8-48]
59 _ = x[CPBOOST-49]
60 _ = x[CPPC-50]
61 _ = x[CX16-51]
62 _ = x[EFER_LMSLE_UNS-52]
63 _ = x[ENQCMD-53]
64 _ = x[ERMS-54]
65 _ = x[F16C-55]
66 _ = x[FLUSH_L1D-56]
67 _ = x[FMA3-57]
68 _ = x[FMA4-58]
69 _ = x[FP128-59]
70 _ = x[FP256-60]
71 _ = x[FSRM-61]
72 _ = x[FXSR-62]
73 _ = x[FXSROPT-63]
74 _ = x[GFNI-64]
75 _ = x[HLE-65]
76 _ = x[HRESET-66]
77 _ = x[HTT-67]
78 _ = x[HWA-68]
79 _ = x[HYBRID_CPU-69]
80 _ = x[HYPERVISOR-70]
81 _ = x[IA32_ARCH_CAP-71]
82 _ = x[IA32_CORE_CAP-72]
83 _ = x[IBPB-73]
84 _ = x[IBPB_BRTYPE-74]
85 _ = x[IBRS-75]
86 _ = x[IBRS_PREFERRED-76]
87 _ = x[IBRS_PROVIDES_SMP-77]
88 _ = x[IBS-78]
89 _ = x[IBSBRNTRGT-79]
90 _ = x[IBSFETCHSAM-80]
91 _ = x[IBSFFV-81]
92 _ = x[IBSOPCNT-82]
93 _ = x[IBSOPCNTEXT-83]
94 _ = x[IBSOPSAM-84]
95 _ = x[IBSRDWROPCNT-85]
96 _ = x[IBSRIPINVALIDCHK-86]
97 _ = x[IBS_FETCH_CTLX-87]
98 _ = x[IBS_OPDATA4-88]
99 _ = x[IBS_OPFUSE-89]
100 _ = x[IBS_PREVENTHOST-90]
101 _ = x[IBS_ZEN4-91]
102 _ = x[IDPRED_CTRL-92]
103 _ = x[INT_WBINVD-93]
104 _ = x[INVLPGB-94]
105 _ = x[KEYLOCKER-95]
106 _ = x[KEYLOCKERW-96]
107 _ = x[LAHF-97]
108 _ = x[LAM-98]
109 _ = x[LBRVIRT-99]
110 _ = x[LZCNT-100]
111 _ = x[MCAOVERFLOW-101]
112 _ = x[MCDT_NO-102]
113 _ = x[MCOMMIT-103]
114 _ = x[MD_CLEAR-104]
115 _ = x[MMX-105]
116 _ = x[MMXEXT-106]
117 _ = x[MOVBE-107]
118 _ = x[MOVDIR64B-108]
119 _ = x[MOVDIRI-109]
120 _ = x[MOVSB_ZL-110]
121 _ = x[MOVU-111]
122 _ = x[MPX-112]
123 _ = x[MSRIRC-113]
124 _ = x[MSRLIST-114]
125 _ = x[MSR_PAGEFLUSH-115]
126 _ = x[NRIPS-116]
127 _ = x[NX-117]
128 _ = x[OSXSAVE-118]
129 _ = x[PCONFIG-119]
130 _ = x[POPCNT-120]
131 _ = x[PPIN-121]
132 _ = x[PREFETCHI-122]
133 _ = x[PSFD-123]
134 _ = x[RDPRU-124]
135 _ = x[RDRAND-125]
136 _ = x[RDSEED-126]
137 _ = x[RDTSCP-127]
138 _ = x[RRSBA_CTRL-128]
139 _ = x[RTM-129]
140 _ = x[RTM_ALWAYS_ABORT-130]
141 _ = x[SBPB-131]
142 _ = x[SERIALIZE-132]
143 _ = x[SEV-133]
144 _ = x[SEV_64BIT-134]
145 _ = x[SEV_ALTERNATIVE-135]
146 _ = x[SEV_DEBUGSWAP-136]
147 _ = x[SEV_ES-137]
148 _ = x[SEV_RESTRICTED-138]
149 _ = x[SEV_SNP-139]
150 _ = x[SGX-140]
151 _ = x[SGXLC-141]
152 _ = x[SHA-142]
153 _ = x[SME-143]
154 _ = x[SME_COHERENT-144]
155 _ = x[SPEC_CTRL_SSBD-145]
156 _ = x[SRBDS_CTRL-146]
157 _ = x[SRSO_MSR_FIX-147]
158 _ = x[SRSO_NO-148]
159 _ = x[SRSO_USER_KERNEL_NO-149]
160 _ = x[SSE-150]
161 _ = x[SSE2-151]
162 _ = x[SSE3-152]
163 _ = x[SSE4-153]
164 _ = x[SSE42-154]
165 _ = x[SSE4A-155]
166 _ = x[SSSE3-156]
167 _ = x[STIBP-157]
168 _ = x[STIBP_ALWAYSON-158]
169 _ = x[STOSB_SHORT-159]
170 _ = x[SUCCOR-160]
171 _ = x[SVM-161]
172 _ = x[SVMDA-162]
173 _ = x[SVMFBASID-163]
174 _ = x[SVML-164]
175 _ = x[SVMNP-165]
176 _ = x[SVMPF-166]
177 _ = x[SVMPFT-167]
178 _ = x[SYSCALL-168]
179 _ = x[SYSEE-169]
180 _ = x[TBM-170]
181 _ = x[TDX_GUEST-171]
182 _ = x[TLB_FLUSH_NESTED-172]
183 _ = x[TME-173]
184 _ = x[TOPEXT-174]
185 _ = x[TSCRATEMSR-175]
186 _ = x[TSXLDTRK-176]
187 _ = x[VAES-177]
188 _ = x[VMCBCLEAN-178]
189 _ = x[VMPL-179]
190 _ = x[VMSA_REGPROT-180]
191 _ = x[VMX-181]
192 _ = x[VPCLMULQDQ-182]
193 _ = x[VTE-183]
194 _ = x[WAITPKG-184]
195 _ = x[WBNOINVD-185]
196 _ = x[WRMSRNS-186]
197 _ = x[X87-187]
198 _ = x[XGETBV1-188]
199 _ = x[XOP-189]
200 _ = x[XSAVE-190]
201 _ = x[XSAVEC-191]
202 _ = x[XSAVEOPT-192]
203 _ = x[XSAVES-193]
204 _ = x[AESARM-194]
205 _ = x[ARMCPUID-195]
206 _ = x[ASIMD-196]
207 _ = x[ASIMDDP-197]
208 _ = x[ASIMDHP-198]
209 _ = x[ASIMDRDM-199]
210 _ = x[ATOMICS-200]
211 _ = x[CRC32-201]
212 _ = x[DCPOP-202]
213 _ = x[EVTSTRM-203]
214 _ = x[FCMA-204]
215 _ = x[FP-205]
216 _ = x[FPHP-206]
217 _ = x[GPA-207]
218 _ = x[JSCVT-208]
219 _ = x[LRCPC-209]
220 _ = x[PMULL-210]
221 _ = x[SHA1-211]
222 _ = x[SHA2-212]
223 _ = x[SHA3-213]
224 _ = x[SHA512-214]
225 _ = x[SM3-215]
226 _ = x[SM4-216]
227 _ = x[SVE-217]
228 _ = x[lastID-218]
229 _ = x[firstID-0]
230 }
231
232 const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXTILEAPX_FAVXAVX10AVX10_128AVX10_256AVX10_512AVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8BHI_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_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFPFPHPGPAJSCVTLRCPCPMULLSHA1SHA2SHA3SHA512SM3SM4SVElastID"
233
234 var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 62, 67, 70, 75, 84, 93, 102, 106, 116, 128, 136, 144, 152, 160, 167, 177, 187, 195, 205, 216, 224, 234, 252, 267, 274, 286, 293, 300, 311, 319, 323, 327, 333, 338, 346, 351, 357, 361, 370, 388, 396, 403, 407, 411, 425, 431, 435, 439, 448, 452, 456, 461, 466, 470, 474, 481, 485, 488, 494, 497, 500, 510, 520, 533, 546, 550, 561, 565, 579, 596, 599, 609, 620, 626, 634, 645, 653, 665, 681, 695, 706, 716, 731, 739, 750, 760, 767, 776, 786, 790, 793, 800, 805, 816, 823, 830, 838, 841, 847, 852, 861, 868, 876, 880, 883, 889, 896, 909, 914, 916, 923, 930, 936, 940, 949, 953, 958, 964, 970, 976, 986, 989, 1005, 1009, 1018, 1021, 1030, 1045, 1058, 1064, 1078, 1085, 1088, 1093, 1096, 1099, 1111, 1125, 1135, 1147, 1154, 1173, 1176, 1180, 1184, 1188, 1193, 1198, 1203, 1208, 1222, 1233, 1239, 1242, 1247, 1256, 1260, 1265, 1270, 1276, 1283, 1288, 1291, 1300, 1316, 1319, 1325, 1335, 1343, 1347, 1356, 1360, 1372, 1375, 1385, 1388, 1395, 1403, 1410, 1413, 1420, 1423, 1428, 1434, 1442, 1448, 1454, 1462, 1467, 1474, 1481, 1489, 1496, 1501, 1506, 1513, 1517, 1519, 1523, 1526, 1531, 1536, 1541, 1545, 1549, 1553, 1559, 1562, 1565, 1568, 1574}
235
236 func (i FeatureID) String() string {
237 if i < 0 || i >= FeatureID(len(_FeatureID_index)-1) {
238 return "FeatureID(" + strconv.FormatInt(int64(i), 10) + ")"
239 }
240 return _FeatureID_name[_FeatureID_index[i]:_FeatureID_index[i+1]]
241 }
242 func _() {
243
244
245 var x [1]struct{}
246 _ = x[VendorUnknown-0]
247 _ = x[Intel-1]
248 _ = x[AMD-2]
249 _ = x[VIA-3]
250 _ = x[Transmeta-4]
251 _ = x[NSC-5]
252 _ = x[KVM-6]
253 _ = x[MSVM-7]
254 _ = x[VMware-8]
255 _ = x[XenHVM-9]
256 _ = x[Bhyve-10]
257 _ = x[Hygon-11]
258 _ = x[SiS-12]
259 _ = x[RDC-13]
260 _ = x[Ampere-14]
261 _ = x[ARM-15]
262 _ = x[Broadcom-16]
263 _ = x[Cavium-17]
264 _ = x[DEC-18]
265 _ = x[Fujitsu-19]
266 _ = x[Infineon-20]
267 _ = x[Motorola-21]
268 _ = x[NVIDIA-22]
269 _ = x[AMCC-23]
270 _ = x[Qualcomm-24]
271 _ = x[Marvell-25]
272 _ = x[lastVendor-26]
273 }
274
275 const _Vendor_name = "VendorUnknownIntelAMDVIATransmetaNSCKVMMSVMVMwareXenHVMBhyveHygonSiSRDCAmpereARMBroadcomCaviumDECFujitsuInfineonMotorolaNVIDIAAMCCQualcommMarvelllastVendor"
276
277 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}
278
279 func (i Vendor) String() string {
280 if i < 0 || i >= Vendor(len(_Vendor_index)-1) {
281 return "Vendor(" + strconv.FormatInt(int64(i), 10) + ")"
282 }
283 return _Vendor_name[_Vendor_index[i]:_Vendor_index[i+1]]
284 }
285
View as plain text