1 // This file is generated by tools/cpuidgen.d
2 module libd.util._cpuid;
3 
4 import libd.util.cpuid;
5 
6 @trusted @nogc nothrow:
7 uint cpuidGetSteppingid() { return (g_cpuidStore.eax1_eax & 0xF) >> 0x0; }
8 uint cpuidGetModel() { return (g_cpuidStore.eax1_eax & 0xF0) >> 0x4; }
9 uint cpuidGetFamilyid() { return (g_cpuidStore.eax1_eax & 0xF00) >> 0x8; }
10 uint cpuidGetProcessortype() { return (g_cpuidStore.eax1_eax & 0x3000) >> 0xC; }
11 uint cpuidGetExtendedmodelid() { return (g_cpuidStore.eax1_eax & 0xF0000) >> 0x10; }
12 uint cpuidGetExtendedfamilyid() { return (g_cpuidStore.eax1_eax & 0xFF00000) >> 0x14; }
13 uint cpuidGetBrandindex() { return (g_cpuidStore.eax1_ebx & 0xFF) >> 0x0; }
14 uint cpuidGetClflushlinesize() { return (g_cpuidStore.eax1_ebx & 0xFF00) >> 0x8; }
15 uint cpuidGetMaxaddressableidsforlogicalprocessors() { return (g_cpuidStore.eax1_ebx & 0xFF0000) >> 0x10; }
16 uint cpuidGetLocalapicid() { return (g_cpuidStore.eax1_ebx & 0xFF000000) >> 0x18; }
17 bool cpuidHasSse3() { return (g_cpuidStore.eax1_ecx & 0x1) > 0; }
18 bool cpuidHasPclmulqdq() { return (g_cpuidStore.eax1_ecx & 0x2) > 0; }
19 bool cpuidHasDtest64() { return (g_cpuidStore.eax1_ecx & 0x4) > 0; }
20 bool cpuidHasMonitor() { return (g_cpuidStore.eax1_ecx & 0x8) > 0; }
21 bool cpuidHasDs_cpl() { return (g_cpuidStore.eax1_ecx & 0x10) > 0; }
22 bool cpuidHasVmx() { return (g_cpuidStore.eax1_ecx & 0x20) > 0; }
23 bool cpuidHasSmx() { return (g_cpuidStore.eax1_ecx & 0x40) > 0; }
24 bool cpuidHasEst() { return (g_cpuidStore.eax1_ecx & 0x80) > 0; }
25 bool cpuidHasTm2() { return (g_cpuidStore.eax1_ecx & 0x100) > 0; }
26 bool cpuidHasSsse3() { return (g_cpuidStore.eax1_ecx & 0x200) > 0; }
27 bool cpuidHasCnxt_id() { return (g_cpuidStore.eax1_ecx & 0x400) > 0; }
28 bool cpuidHasSdbg() { return (g_cpuidStore.eax1_ecx & 0x800) > 0; }
29 bool cpuidHasFma() { return (g_cpuidStore.eax1_ecx & 0x1000) > 0; }
30 bool cpuidHasCx16() { return (g_cpuidStore.eax1_ecx & 0x2000) > 0; }
31 bool cpuidHasXtpr() { return (g_cpuidStore.eax1_ecx & 0x4000) > 0; }
32 bool cpuidHasPdcm() { return (g_cpuidStore.eax1_ecx & 0x8000) > 0; }
33 bool cpuidHas_ax1cx_res1() { return (g_cpuidStore.eax1_ecx & 0x10000) > 0; }
34 bool cpuidHasPcid() { return (g_cpuidStore.eax1_ecx & 0x20000) > 0; }
35 bool cpuidHasDca() { return (g_cpuidStore.eax1_ecx & 0x40000) > 0; }
36 bool cpuidHasSse41() { return (g_cpuidStore.eax1_ecx & 0x80000) > 0; }
37 bool cpuidHasSse42() { return (g_cpuidStore.eax1_ecx & 0x100000) > 0; }
38 bool cpuidHasX2apic() { return (g_cpuidStore.eax1_ecx & 0x200000) > 0; }
39 bool cpuidHasMovbe() { return (g_cpuidStore.eax1_ecx & 0x400000) > 0; }
40 bool cpuidHasPopcnt() { return (g_cpuidStore.eax1_ecx & 0x800000) > 0; }
41 bool cpuidHasTsc_deadline() { return (g_cpuidStore.eax1_ecx & 0x1000000) > 0; }
42 bool cpuidHasAes() { return (g_cpuidStore.eax1_ecx & 0x2000000) > 0; }
43 bool cpuidHasXsave() { return (g_cpuidStore.eax1_ecx & 0x4000000) > 0; }
44 bool cpuidHasOsxsave() { return (g_cpuidStore.eax1_ecx & 0x8000000) > 0; }
45 bool cpuidHasAvx() { return (g_cpuidStore.eax1_ecx & 0x10000000) > 0; }
46 bool cpuidHasF16c() { return (g_cpuidStore.eax1_ecx & 0x20000000) > 0; }
47 bool cpuidHasRdrnd() { return (g_cpuidStore.eax1_ecx & 0x40000000) > 0; }
48 bool cpuidHasHypervisor() { return (g_cpuidStore.eax1_ecx & 0x80000000) > 0; }
49 bool cpuidHasFpu() { return (g_cpuidStore.eax1_edx & 0x1) > 0; }
50 bool cpuidHasVem() { return (g_cpuidStore.eax1_edx & 0x2) > 0; }
51 bool cpuidHasDe() { return (g_cpuidStore.eax1_edx & 0x4) > 0; }
52 bool cpuidHasPse() { return (g_cpuidStore.eax1_edx & 0x8) > 0; }
53 bool cpuidHasTsc() { return (g_cpuidStore.eax1_edx & 0x10) > 0; }
54 bool cpuidHasMsr() { return (g_cpuidStore.eax1_edx & 0x20) > 0; }
55 bool cpuidHasPae() { return (g_cpuidStore.eax1_edx & 0x40) > 0; }
56 bool cpuidHasMce() { return (g_cpuidStore.eax1_edx & 0x80) > 0; }
57 bool cpuidHasCx8() { return (g_cpuidStore.eax1_edx & 0x100) > 0; }
58 bool cpuidHasApic() { return (g_cpuidStore.eax1_edx & 0x200) > 0; }
59 bool cpuidHas_ax1dx_res1() { return (g_cpuidStore.eax1_edx & 0x400) > 0; }
60 bool cpuidHasSep() { return (g_cpuidStore.eax1_edx & 0x800) > 0; }
61 bool cpuidHasMtrr() { return (g_cpuidStore.eax1_edx & 0x1000) > 0; }
62 bool cpuidHasPge() { return (g_cpuidStore.eax1_edx & 0x2000) > 0; }
63 bool cpuidHasMca() { return (g_cpuidStore.eax1_edx & 0x4000) > 0; }
64 bool cpuidHasCmov() { return (g_cpuidStore.eax1_edx & 0x8000) > 0; }
65 bool cpuidHasPat() { return (g_cpuidStore.eax1_edx & 0x10000) > 0; }
66 bool cpuidHasPse_36() { return (g_cpuidStore.eax1_edx & 0x20000) > 0; }
67 bool cpuidHasPsn() { return (g_cpuidStore.eax1_edx & 0x40000) > 0; }
68 bool cpuidHasClfsh() { return (g_cpuidStore.eax1_edx & 0x80000) > 0; }
69 bool cpuidHas_ax1dx_res2() { return (g_cpuidStore.eax1_edx & 0x100000) > 0; }
70 bool cpuidHasDs() { return (g_cpuidStore.eax1_edx & 0x200000) > 0; }
71 bool cpuidHasAcpi() { return (g_cpuidStore.eax1_edx & 0x400000) > 0; }
72 bool cpuidHasMmx() { return (g_cpuidStore.eax1_edx & 0x800000) > 0; }
73 bool cpuidHasFxsr() { return (g_cpuidStore.eax1_edx & 0x1000000) > 0; }
74 bool cpuidHasSse() { return (g_cpuidStore.eax1_edx & 0x2000000) > 0; }
75 bool cpuidHasSse2() { return (g_cpuidStore.eax1_edx & 0x4000000) > 0; }
76 bool cpuidHasSs() { return (g_cpuidStore.eax1_edx & 0x8000000) > 0; }
77 bool cpuidHasHtt() { return (g_cpuidStore.eax1_edx & 0x10000000) > 0; }
78 bool cpuidHasTm() { return (g_cpuidStore.eax1_edx & 0x20000000) > 0; }
79 bool cpuidHasIa64() { return (g_cpuidStore.eax1_edx & 0x40000000) > 0; }
80 bool cpuidHasPbe() { return (g_cpuidStore.eax1_edx & 0x80000000) > 0; }
81 bool cpuidHasFsgsbase() { return (g_cpuidStore.eax7ecx0_ebx & 0x1) > 0; }
82 bool cpuidHasIa32_tsc_adjust() { return (g_cpuidStore.eax7ecx0_ebx & 0x2) > 0; }
83 bool cpuidHasSgx() { return (g_cpuidStore.eax7ecx0_ebx & 0x4) > 0; }
84 bool cpuidHasBmi1() { return (g_cpuidStore.eax7ecx0_ebx & 0x8) > 0; }
85 bool cpuidHasHle() { return (g_cpuidStore.eax7ecx0_ebx & 0x10) > 0; }
86 bool cpuidHasAvx2() { return (g_cpuidStore.eax7ecx0_ebx & 0x20) > 0; }
87 bool cpuidHasFdp_excptn_only() { return (g_cpuidStore.eax7ecx0_ebx & 0x40) > 0; }
88 bool cpuidHasSmep() { return (g_cpuidStore.eax7ecx0_ebx & 0x80) > 0; }
89 bool cpuidHasBmi2() { return (g_cpuidStore.eax7ecx0_ebx & 0x100) > 0; }
90 bool cpuidHasErms() { return (g_cpuidStore.eax7ecx0_ebx & 0x200) > 0; }
91 bool cpuidHasInvpcid() { return (g_cpuidStore.eax7ecx0_ebx & 0x400) > 0; }
92 bool cpuidHasRtm() { return (g_cpuidStore.eax7ecx0_ebx & 0x800) > 0; }
93 bool cpuidHasPqrn() { return (g_cpuidStore.eax7ecx0_ebx & 0x1000) > 0; }
94 bool cpuidHasCs_ds_depr() { return (g_cpuidStore.eax7ecx0_ebx & 0x2000) > 0; }
95 bool cpuidHasMpx() { return (g_cpuidStore.eax7ecx0_ebx & 0x4000) > 0; }
96 bool cpuidHasPqe() { return (g_cpuidStore.eax7ecx0_ebx & 0x8000) > 0; }
97 bool cpuidHasAvx512_f() { return (g_cpuidStore.eax7ecx0_ebx & 0x10000) > 0; }
98 bool cpuidHasAvx512_dq() { return (g_cpuidStore.eax7ecx0_ebx & 0x20000) > 0; }
99 bool cpuidHasRdseed() { return (g_cpuidStore.eax7ecx0_ebx & 0x40000) > 0; }
100 bool cpuidHasAdx() { return (g_cpuidStore.eax7ecx0_ebx & 0x80000) > 0; }
101 bool cpuidHasSmap() { return (g_cpuidStore.eax7ecx0_ebx & 0x100000) > 0; }
102 bool cpuidHasAvx512_ifma() { return (g_cpuidStore.eax7ecx0_ebx & 0x200000) > 0; }
103 bool cpuidHasPcommit() { return (g_cpuidStore.eax7ecx0_ebx & 0x400000) > 0; }
104 bool cpuidHasClflushopt() { return (g_cpuidStore.eax7ecx0_ebx & 0x800000) > 0; }
105 bool cpuidHasClwb() { return (g_cpuidStore.eax7ecx0_ebx & 0x1000000) > 0; }
106 bool cpuidHasIntel_pt() { return (g_cpuidStore.eax7ecx0_ebx & 0x2000000) > 0; }
107 bool cpuidHasAvx512_pf() { return (g_cpuidStore.eax7ecx0_ebx & 0x4000000) > 0; }
108 bool cpuidHasAvx512_er() { return (g_cpuidStore.eax7ecx0_ebx & 0x8000000) > 0; }
109 bool cpuidHasAvx512_cd() { return (g_cpuidStore.eax7ecx0_ebx & 0x10000000) > 0; }
110 bool cpuidHasSha() { return (g_cpuidStore.eax7ecx0_ebx & 0x20000000) > 0; }
111 bool cpuidHasAvx512_bw() { return (g_cpuidStore.eax7ecx0_ebx & 0x40000000) > 0; }
112 bool cpuidHasAvx512_vl() { return (g_cpuidStore.eax7ecx0_ebx & 0x80000000) > 0; }
113 bool cpuidHasPrefetchwt1() { return (g_cpuidStore.eax7ecx0_ecx & 0x1) > 0; }
114 bool cpuidHasAvx512_vbmi() { return (g_cpuidStore.eax7ecx0_ecx & 0x2) > 0; }
115 bool cpuidHasUmip() { return (g_cpuidStore.eax7ecx0_ecx & 0x4) > 0; }
116 bool cpuidHasPku() { return (g_cpuidStore.eax7ecx0_ecx & 0x8) > 0; }
117 bool cpuidHasOspke() { return (g_cpuidStore.eax7ecx0_ecx & 0x10) > 0; }
118 bool cpuidHasWaitpkg() { return (g_cpuidStore.eax7ecx0_ecx & 0x20) > 0; }
119 bool cpuidHasAvx512_vbmi2() { return (g_cpuidStore.eax7ecx0_ecx & 0x40) > 0; }
120 bool cpuidHasCet_ss() { return (g_cpuidStore.eax7ecx0_ecx & 0x80) > 0; }
121 bool cpuidHasGfni() { return (g_cpuidStore.eax7ecx0_ecx & 0x100) > 0; }
122 bool cpuidHasVaes() { return (g_cpuidStore.eax7ecx0_ecx & 0x200) > 0; }
123 bool cpuidHasVpclmulqdq() { return (g_cpuidStore.eax7ecx0_ecx & 0x400) > 0; }
124 bool cpuidHasAvx512_vnni() { return (g_cpuidStore.eax7ecx0_ecx & 0x800) > 0; }
125 bool cpuidHasAvx512_bitalg() { return (g_cpuidStore.eax7ecx0_ecx & 0x1000) > 0; }
126 bool cpuidHas_ax7cx0cx_res1() { return (g_cpuidStore.eax7ecx0_ecx & 0x2000) > 0; }
127 bool cpuidHasAvx512_vpopcntdq() { return (g_cpuidStore.eax7ecx0_ecx & 0x4000) > 0; }
128 bool cpuidHas_ax7cx0cx_res2() { return (g_cpuidStore.eax7ecx0_ecx & 0x8000) > 0; }
129 bool cpuidHasFivelevelpaging() { return (g_cpuidStore.eax7ecx0_ecx & 0x10000) > 0; }
130 uint cpuidGetMawau() { return (g_cpuidStore.eax7ecx0_ecx & 0x3E0000) >> 0x11; }
131 bool cpuidHasRdpid() { return (g_cpuidStore.eax7ecx0_ecx & 0x400000) > 0; }
132 bool cpuidHas_ax7cx0cx_res3() { return (g_cpuidStore.eax7ecx0_ecx & 0x800000) > 0; }
133 bool cpuidHas_ax7cx0cx_res4() { return (g_cpuidStore.eax7ecx0_ecx & 0x1000000) > 0; }
134 bool cpuidHasCldemote() { return (g_cpuidStore.eax7ecx0_ecx & 0x2000000) > 0; }
135 bool cpuidHas_ax7cx0cx_res5() { return (g_cpuidStore.eax7ecx0_ecx & 0x4000000) > 0; }
136 bool cpuidHasMovdiri() { return (g_cpuidStore.eax7ecx0_ecx & 0x8000000) > 0; }
137 bool cpuidHasMovdir64b() { return (g_cpuidStore.eax7ecx0_ecx & 0x10000000) > 0; }
138 bool cpuidHasEnqcmd() { return (g_cpuidStore.eax7ecx0_ecx & 0x20000000) > 0; }
139 bool cpuidHasSgx_lc() { return (g_cpuidStore.eax7ecx0_ecx & 0x40000000) > 0; }
140 bool cpuidHasPks() { return (g_cpuidStore.eax7ecx0_ecx & 0x80000000) > 0; }
141 bool cpuidHas_ax7cx0dx_res1() { return (g_cpuidStore.eax7ecx0_edx & 0x1) > 0; }
142 bool cpuidHas_ax7cx0dx_res2() { return (g_cpuidStore.eax7ecx0_edx & 0x2) > 0; }
143 bool cpuidHasAvx512_4vnniw() { return (g_cpuidStore.eax7ecx0_edx & 0x4) > 0; }
144 bool cpuidHasAvx512_4fmaps() { return (g_cpuidStore.eax7ecx0_edx & 0x8) > 0; }
145 bool cpuidHasFsrm() { return (g_cpuidStore.eax7ecx0_edx & 0x10) > 0; }
146 bool cpuidHas_ax7cx0dx_res3() { return (g_cpuidStore.eax7ecx0_edx & 0x20) > 0; }
147 bool cpuidHas_ax7cx0dx_res4() { return (g_cpuidStore.eax7ecx0_edx & 0x40) > 0; }
148 bool cpuidHas_ax7cx0dx_res5() { return (g_cpuidStore.eax7ecx0_edx & 0x80) > 0; }
149 bool cpuidHasAvx512_vp2inersect() { return (g_cpuidStore.eax7ecx0_edx & 0x100) > 0; }
150 bool cpuidHasSrdbs_ctrl() { return (g_cpuidStore.eax7ecx0_edx & 0x200) > 0; }
151 bool cpuidHasMd_clear() { return (g_cpuidStore.eax7ecx0_edx & 0x400) > 0; }
152 bool cpuidHas_ax7cx0dx_res6() { return (g_cpuidStore.eax7ecx0_edx & 0x800) > 0; }
153 bool cpuidHas_ax7cx0dx_res7() { return (g_cpuidStore.eax7ecx0_edx & 0x1000) > 0; }
154 bool cpuidHasTsx_force_abort() { return (g_cpuidStore.eax7ecx0_edx & 0x2000) > 0; }
155 bool cpuidHasSerialize() { return (g_cpuidStore.eax7ecx0_edx & 0x4000) > 0; }
156 bool cpuidHasHybrid() { return (g_cpuidStore.eax7ecx0_edx & 0x8000) > 0; }
157 bool cpuidHasTsxldtrk() { return (g_cpuidStore.eax7ecx0_edx & 0x10000) > 0; }
158 bool cpuidHas_ax7cx0dx_res8() { return (g_cpuidStore.eax7ecx0_edx & 0x20000) > 0; }
159 bool cpuidHasPconfig() { return (g_cpuidStore.eax7ecx0_edx & 0x40000) > 0; }
160 bool cpuidHasLbr() { return (g_cpuidStore.eax7ecx0_edx & 0x80000) > 0; }
161 bool cpuidHasCet_ibt() { return (g_cpuidStore.eax7ecx0_edx & 0x100000) > 0; }
162 bool cpuidHas_ax7cx0dx_res9() { return (g_cpuidStore.eax7ecx0_edx & 0x200000) > 0; }
163 bool cpuidHasAmx_bf16() { return (g_cpuidStore.eax7ecx0_edx & 0x400000) > 0; }
164 bool cpuidHasAvx512_fp16() { return (g_cpuidStore.eax7ecx0_edx & 0x800000) > 0; }
165 bool cpuidHasAmx_tile() { return (g_cpuidStore.eax7ecx0_edx & 0x1000000) > 0; }
166 bool cpuidHasAmx_int8() { return (g_cpuidStore.eax7ecx0_edx & 0x2000000) > 0; }
167 bool cpuidHasSpec_ctrl() { return (g_cpuidStore.eax7ecx0_edx & 0x4000000) > 0; }
168 bool cpuidHasStibp() { return (g_cpuidStore.eax7ecx0_edx & 0x8000000) > 0; }
169 bool cpuidHasL1d_flush() { return (g_cpuidStore.eax7ecx0_edx & 0x10000000) > 0; }
170 bool cpuidHasIa32_arch_capabilities() { return (g_cpuidStore.eax7ecx0_edx & 0x20000000) > 0; }
171 bool cpuidHasIa32_core_capabilities() { return (g_cpuidStore.eax7ecx0_edx & 0x40000000) > 0; }
172 bool cpuidHasSsbd() { return (g_cpuidStore.eax7ecx0_edx & 0x80000000) > 0; }