Lines Matching defs:cpuid

41       "cpuid\n"                            \
56 CPUIDInfo *cpuid = nullptr;
112 // Initialize cpuid struct
113 CHECK(cpuid == nullptr) << __func__ << " ran more than once";
114 cpuid = new CPUIDInfo;
120 cpuid->vendor_str_.append(reinterpret_cast<char *>(&ebx), 4);
121 cpuid->vendor_str_.append(reinterpret_cast<char *>(&edx), 4);
122 cpuid->vendor_str_.append(reinterpret_cast<char *>(&ecx), 4);
125 // ecx = 0 to cpuid. The response is returned in eax, ebx, ecx and edx.
130 cpuid->model_num_ = static_cast<int>((eax >> 4) & 0xf);
131 cpuid->family_ = static_cast<int>((eax >> 8) & 0xf);
133 cpuid->have_aes_ = (ecx >> 25) & 0x1;
134 cpuid->have_cmov_ = (edx >> 15) & 0x1;
135 cpuid->have_cmpxchg16b_ = (ecx >> 13) & 0x1;
136 cpuid->have_cmpxchg8b_ = (edx >> 8) & 0x1;
137 cpuid->have_mmx_ = (edx >> 23) & 0x1;
138 cpuid->have_pclmulqdq_ = (ecx >> 1) & 0x1;
139 cpuid->have_popcnt_ = (ecx >> 23) & 0x1;
140 cpuid->have_rdrand_ = (ecx >> 30) & 0x1;
141 cpuid->have_sse2_ = (edx >> 26) & 0x1;
142 cpuid->have_sse3_ = ecx & 0x1;
143 cpuid->have_sse4_1_ = (ecx >> 19) & 0x1;
144 cpuid->have_sse4_2_ = (ecx >> 20) & 0x1;
145 cpuid->have_sse_ = (edx >> 25) & 0x1;
146 cpuid->have_ssse3_ = (ecx >> 9) & 0x1;
147 cpuid->have_hypervisor_ = (ecx >> 31) & 1;
173 cpuid->have_avx_ = have_avx;
174 cpuid->have_fma_ = have_avx && ((ecx >> 12) & 0x1);
175 cpuid->have_f16c_ = have_avx && ((ecx >> 29) & 0x1);
184 cpuid->have_adx_ = (ebx >> 19) & 0x1;
185 cpuid->have_avx2_ = have_avx && ((ebx >> 5) & 0x1);
186 cpuid->have_bmi1_ = (ebx >> 3) & 0x1;
187 cpuid->have_bmi2_ = (ebx >> 8) & 0x1;
188 cpuid->have_prefetchwt1_ = ecx & 0x1;
189 cpuid->have_rdseed_ = (ebx >> 18) & 0x1;
190 cpuid->have_smap_ = (ebx >> 20) & 0x1;
192 cpuid->have_avx512f_ = have_avx512 && ((ebx >> 16) & 0x1);
193 cpuid->have_avx512cd_ = have_avx512 && ((ebx >> 28) & 0x1);
194 cpuid->have_avx512er_ = have_avx512 && ((ebx >> 27) & 0x1);
195 cpuid->have_avx512pf_ = have_avx512 && ((ebx >> 26) & 0x1);
196 cpuid->have_avx512vl_ = have_avx512 && ((ebx >> 31) & 0x1);
197 cpuid->have_avx512bw_ = have_avx512 && ((ebx >> 30) & 0x1);
198 cpuid->have_avx512dq_ = have_avx512 && ((ebx >> 17) & 0x1);
199 cpuid->have_avx512vbmi_ = have_avx512 && ((ecx >> 1) & 0x1);
200 cpuid->have_avx512ifma_ = have_avx512 && ((ebx >> 21) & 0x1);
201 cpuid->have_avx512_4vnniw_ = have_avx512 && ((edx >> 2) & 0x1);
202 cpuid->have_avx512_4fmaps_ = have_avx512 && ((edx >> 3) & 0x1);
209 case ADX: return cpuid->have_adx_;
210 case AES: return cpuid->have_aes_;
211 case AVX2: return cpuid->have_avx2_;
212 case AVX: return cpuid->have_avx_;
213 case AVX512F: return cpuid->have_avx512f_;
214 case AVX512CD: return cpuid->have_avx512cd_;
215 case AVX512PF: return cpuid->have_avx512pf_;
216 case AVX512ER: return cpuid->have_avx512er_;
217 case AVX512VL: return cpuid->have_avx512vl_;
218 case AVX512BW: return cpuid->have_avx512bw_;
219 case AVX512DQ: return cpuid->have_avx512dq_;
220 case AVX512VBMI: return cpuid->have_avx512vbmi_;
221 case AVX512IFMA: return cpuid->have_avx512ifma_;
222 case AVX512_4VNNIW: return cpuid->have_avx512_4vnniw_;
223 case AVX512_4FMAPS: return cpuid->have_avx512_4fmaps_;
224 case BMI1: return cpuid->have_bmi1_;
225 case BMI2: return cpuid->have_bmi2_;
226 case CMOV: return cpuid->have_cmov_;
227 case CMPXCHG16B: return cpuid->have_cmpxchg16b_;
228 case CMPXCHG8B: return cpuid->have_cmpxchg8b_;
229 case F16C: return cpuid->have_f16c_;
230 case FMA: return cpuid->have_fma_;
231 case MMX: return cpuid->have_mmx_;
232 case PCLMULQDQ: return cpuid->have_pclmulqdq_;
233 case POPCNT: return cpuid->have_popcnt_;
234 case PREFETCHW: return cpuid->have_prefetchw_;
235 case PREFETCHWT1: return cpuid->have_prefetchwt1_;
236 case RDRAND: return cpuid->have_rdrand_;
237 case RDSEED: return cpuid->have_rdseed_;
238 case SMAP: return cpuid->have_smap_;
239 case SSE2: return cpuid->have_sse2_;
240 case SSE3: return cpuid->have_sse3_;
241 case SSE4_1: return cpuid->have_sse4_1_;
242 case SSE4_2: return cpuid->have_sse4_2_;
243 case SSE: return cpuid->have_sse_;
244 case SSSE3: return cpuid->have_ssse3_;
245 case HYPERVISOR: return cpuid->have_hypervisor_;
323 return cpuid->vendor_str();
332 return cpuid->family();
341 return cpuid->model_num();