Lines Matching refs:_cpuid_info

362   static CpuidInfo _cpuid_info;
366 uint32_t result = _cpuid_info.std_cpuid1_eax.bits.family;
367 result += _cpuid_info.std_cpuid1_eax.bits.ext_family;
372 uint32_t result = _cpuid_info.std_cpuid1_eax.bits.model;
373 result |= _cpuid_info.std_cpuid1_eax.bits.ext_model << 4;
378 uint32_t result = _cpuid_info.std_cpuid1_eax.bits.stepping;
389 if (_cpuid_info.std_cpuid1_edx.bits.cmpxchg8 != 0)
391 if (_cpuid_info.std_cpuid1_edx.bits.cmov != 0)
393 if (_cpuid_info.std_cpuid1_edx.bits.fxsr != 0 || (is_amd() &&
394 _cpuid_info.ext_cpuid1_edx.bits.fxsr != 0))
399 if (_cpuid_info.std_cpuid1_edx.bits.mmx != 0 || (is_amd() &&
400 _cpuid_info.ext_cpuid1_edx.bits.mmx != 0))
402 if (_cpuid_info.std_cpuid1_edx.bits.sse != 0)
404 if (_cpuid_info.std_cpuid1_edx.bits.sse2 != 0)
406 if (_cpuid_info.std_cpuid1_ecx.bits.sse3 != 0)
408 if (_cpuid_info.std_cpuid1_ecx.bits.ssse3 != 0)
410 if (_cpuid_info.std_cpuid1_ecx.bits.sse4_1 != 0)
412 if (_cpuid_info.std_cpuid1_ecx.bits.sse4_2 != 0)
414 if (_cpuid_info.std_cpuid1_ecx.bits.popcnt != 0)
416 if (_cpuid_info.std_cpuid1_ecx.bits.avx != 0 &&
417 _cpuid_info.std_cpuid1_ecx.bits.osxsave != 0 &&
418 _cpuid_info.xem_xcr0_eax.bits.sse != 0 &&
419 _cpuid_info.xem_xcr0_eax.bits.ymm != 0) {
421 if (_cpuid_info.sef_cpuid7_ebx.bits.avx2 != 0)
424 if (_cpuid_info.std_cpuid1_edx.bits.tsc != 0)
426 if (_cpuid_info.ext_cpuid7_edx.bits.tsc_invariance != 0)
428 if (_cpuid_info.std_cpuid1_ecx.bits.aes != 0)
430 if (_cpuid_info.sef_cpuid7_ebx.bits.erms != 0)
435 if ((_cpuid_info.ext_cpuid1_edx.bits.tdnow != 0) ||
436 (_cpuid_info.ext_cpuid1_ecx.bits.prefetchw != 0))
438 if (_cpuid_info.ext_cpuid1_ecx.bits.lzcnt != 0)
440 if (_cpuid_info.ext_cpuid1_ecx.bits.sse4a != 0)
469 assert(_cpuid_info.std_cpuid1_eax.bits.family != 0, "VM_Version not initialized");
489 static bool is_amd() { assert_is_initialized(); return _cpuid_info.std_vendor_name_0 == 0x68747541; } // 'htuA'
490 static bool is_intel() { assert_is_initialized(); return _cpuid_info.std_vendor_name_0 == 0x756e6547; } // 'uneG'
493 return (_cpuid_info.std_max_function >= 0xB) &&
496 (((_cpuid_info.tpl_cpuidB0_eax & 0x1f) | _cpuid_info.tpl_cpuidB0_ebx.bits.logical_cpus) != 0);
503 result = _cpuid_info.tpl_cpuidB1_ebx.bits.logical_cpus /
504 _cpuid_info.tpl_cpuidB0_ebx.bits.logical_cpus;
506 result = (_cpuid_info.dcp_cpuid4_eax.bits.cores_per_cpu + 1);
509 result = (_cpuid_info.ext_cpuid8_ecx.bits.cores_per_cpu + 1);
517 result = _cpuid_info.tpl_cpuidB0_ebx.bits.logical_cpus;
518 } else if (_cpuid_info.std_cpuid1_edx.bits.ht != 0) {
519 result = _cpuid_info.std_cpuid1_ebx.bits.threads_per_cpu /
528 result = (_cpuid_info.dcp_cpuid4_ebx.bits.L1_line_size + 1);
530 result = _cpuid_info.ext_cpuid5_ecx.bits.L1_line_size;
583 static bool supports_mmx_ext() { return is_amd() && _cpuid_info.ext_cpuid1_edx.bits.mmx_amd != 0; }