Struct cpu_features¶
struct cpu_features runtime¶
struct cpu_features { … } Detected x86 CPU capabilities and identifying strings.
variable max ¶
u32 max Highest supported standard CPUID leaf (leaf 0 EAX).
Fully qualified name: kfr::cpu_features::max
Declared at runtime/cpuid.hpp:47
variable exmax ¶
u32 exmax Highest supported extended CPUID leaf (leaf 0x80000000 EAX).
Fully qualified name: kfr::cpu_features::exmax
Declared at runtime/cpuid.hpp:48
variable isIntel ¶
u32 isIntel : 1 Vendor string is "GenuineIntel".
Fully qualified name: kfr::cpu_features::isIntel
Declared at runtime/cpuid.hpp:49
variable isAMD ¶
u32 isAMD : 1 Vendor string is "AuthenticAMD".
Fully qualified name: kfr::cpu_features::isAMD
Declared at runtime/cpuid.hpp:50
variable has3DNOW ¶
u32 has3DNOW : 1 AMD 3DNow! instructions.
Fully qualified name: kfr::cpu_features::has3DNOW
Declared at runtime/cpuid.hpp:51
variable has3DNOWEXT ¶
u32 has3DNOWEXT : 1 AMD 3DNow! extension instructions.
Fully qualified name: kfr::cpu_features::has3DNOWEXT
Declared at runtime/cpuid.hpp:52
variable hasABM ¶
u32 hasABM : 1 AMD Advanced Bit Manipulation (LZCNT + POPCNT on AMD).
Fully qualified name: kfr::cpu_features::hasABM
Declared at runtime/cpuid.hpp:53
variable hasADX ¶
u32 hasADX : 1 ADX instruction set (arbitrary-precision add with carry).
Fully qualified name: kfr::cpu_features::hasADX
Declared at runtime/cpuid.hpp:54
variable hasAES ¶
u32 hasAES : 1 AES instruction set.
Fully qualified name: kfr::cpu_features::hasAES
Declared at runtime/cpuid.hpp:55
variable hasAVX ¶
u32 hasAVX : 1 AVX instruction set (CPUID-reported, see hasAVXOSSUPPORT).
Fully qualified name: kfr::cpu_features::hasAVX
Declared at runtime/cpuid.hpp:56
variable hasAVX2 ¶
u32 hasAVX2 : 1 AVX2 instruction set.
Fully qualified name: kfr::cpu_features::hasAVX2
Declared at runtime/cpuid.hpp:57
variable hasAVXOSSUPPORT ¶
u32 hasAVXOSSUPPORT : 1 AVX state enabled by the OS (XCR0[2:1] == 0b11).
Fully qualified name: kfr::cpu_features::hasAVXOSSUPPORT
Declared at runtime/cpuid.hpp:58
variable hasAVX512OSSUPPORT ¶
u32 hasAVX512OSSUPPORT : 1 AVX-512 state enabled by the OS (XCR0[7:5] == 0b111).
Fully qualified name: kfr::cpu_features::hasAVX512OSSUPPORT
Declared at runtime/cpuid.hpp:59
variable hasAVX512CD ¶
u32 hasAVX512CD : 1 AVX-512 Conflict Detection.
Fully qualified name: kfr::cpu_features::hasAVX512CD
Declared at runtime/cpuid.hpp:60
variable hasAVX512ER ¶
u32 hasAVX512ER : 1 AVX-512 Exponential and Reciprocal instructions.
Fully qualified name: kfr::cpu_features::hasAVX512ER
Declared at runtime/cpuid.hpp:61
variable hasAVX512F ¶
u32 hasAVX512F : 1 AVX-512 Foundation.
Fully qualified name: kfr::cpu_features::hasAVX512F
Declared at runtime/cpuid.hpp:62
variable hasAVX512DQ ¶
u32 hasAVX512DQ : 1 AVX-512 Doubleword and Quadword.
Fully qualified name: kfr::cpu_features::hasAVX512DQ
Declared at runtime/cpuid.hpp:63
variable hasAVX512PF ¶
u32 hasAVX512PF : 1 AVX-512 Prefetch.
Fully qualified name: kfr::cpu_features::hasAVX512PF
Declared at runtime/cpuid.hpp:64
variable hasAVX512BW ¶
u32 hasAVX512BW : 1 AVX-512 Byte and Word.
Fully qualified name: kfr::cpu_features::hasAVX512BW
Declared at runtime/cpuid.hpp:65
variable hasAVX512VL ¶
u32 hasAVX512VL : 1 AVX-512 Vector Length extensions.
Fully qualified name: kfr::cpu_features::hasAVX512VL
Declared at runtime/cpuid.hpp:66
variable hasBMI1 ¶
u32 hasBMI1 : 1 Bit Manipulation Instructions 1.
Fully qualified name: kfr::cpu_features::hasBMI1
Declared at runtime/cpuid.hpp:67
variable hasBMI2 ¶
u32 hasBMI2 : 1 Bit Manipulation Instructions 2.
Fully qualified name: kfr::cpu_features::hasBMI2
Declared at runtime/cpuid.hpp:68
variable hasCLFSH ¶
u32 hasCLFSH : 1 CLFLUSH instruction.
Fully qualified name: kfr::cpu_features::hasCLFSH
Declared at runtime/cpuid.hpp:69
variable hasCMOV ¶
u32 hasCMOV : 1 CMOVcc conditional move.
Fully qualified name: kfr::cpu_features::hasCMOV
Declared at runtime/cpuid.hpp:70
variable hasCMPXCHG16B ¶
u32 hasCMPXCHG16B : 1 CMPXCHG16B (128-bit compare-exchange).
Fully qualified name: kfr::cpu_features::hasCMPXCHG16B
Declared at runtime/cpuid.hpp:71
variable hasCX8 ¶
u32 hasCX8 : 1 CMPXCHG8B (64-bit compare-exchange).
Fully qualified name: kfr::cpu_features::hasCX8
Declared at runtime/cpuid.hpp:72
variable hasERMS ¶
u32 hasERMS : 1 Enhanced REP MOVSB/STOSB.
Fully qualified name: kfr::cpu_features::hasERMS
Declared at runtime/cpuid.hpp:73
variable hasF16C ¶
u32 hasF16C : 1 F16C half-precision conversion.
Fully qualified name: kfr::cpu_features::hasF16C
Declared at runtime/cpuid.hpp:74
variable hasFMA ¶
u32 hasFMA : 1 Fused Multiply-Add (FMA3).
Fully qualified name: kfr::cpu_features::hasFMA
Declared at runtime/cpuid.hpp:75
variable hasFSGSBASE ¶
u32 hasFSGSBASE : 1 RDFSBASE/WRFSBASE instructions.
Fully qualified name: kfr::cpu_features::hasFSGSBASE
Declared at runtime/cpuid.hpp:76
variable hasFXSR ¶
u32 hasFXSR : 1 variable hasHLE ¶
u32 hasHLE : 1 Hardware Lock Elision (Intel only).
Fully qualified name: kfr::cpu_features::hasHLE
Declared at runtime/cpuid.hpp:78
variable hasINVPCID ¶
u32 hasINVPCID : 1 INVPCID instruction.
Fully qualified name: kfr::cpu_features::hasINVPCID
Declared at runtime/cpuid.hpp:79
variable hasLAHF ¶
u32 hasLAHF : 1 LAHF/SAHF in 64-bit mode.
Fully qualified name: kfr::cpu_features::hasLAHF
Declared at runtime/cpuid.hpp:80
variable hasLZCNT ¶
u32 hasLZCNT : 1 LZCNT instruction (Intel only).
Fully qualified name: kfr::cpu_features::hasLZCNT
Declared at runtime/cpuid.hpp:81
variable hasMMX ¶
u32 hasMMX : 1 variable hasMMXEXT ¶
u32 hasMMXEXT : 1 AMD MMX extensions.
Fully qualified name: kfr::cpu_features::hasMMXEXT
Declared at runtime/cpuid.hpp:83
variable hasMONITOR ¶
u32 hasMONITOR : 1 variable hasMOVBE ¶
u32 hasMOVBE : 1 MOVBE (move byte-swap).
Fully qualified name: kfr::cpu_features::hasMOVBE
Declared at runtime/cpuid.hpp:85
variable hasMSR ¶
u32 hasMSR : 1 Model-Specific Registers (RDMSR/WRMSR).
Fully qualified name: kfr::cpu_features::hasMSR
Declared at runtime/cpuid.hpp:86
variable hasOSXSAVE ¶
u32 hasOSXSAVE : 1 OS enables XSAVE/XRSTOR (CPUID.1:ECX[27]).
Fully qualified name: kfr::cpu_features::hasOSXSAVE
Declared at runtime/cpuid.hpp:87
variable hasPCLMULQDQ ¶
u32 hasPCLMULQDQ : 1 PCLMULQDQ carry-less multiplication.
Fully qualified name: kfr::cpu_features::hasPCLMULQDQ
Declared at runtime/cpuid.hpp:88
variable hasPOPCNT ¶
u32 hasPOPCNT : 1 POPCNT instruction.
Fully qualified name: kfr::cpu_features::hasPOPCNT
Declared at runtime/cpuid.hpp:89
variable hasPREFETCHWT1 ¶
u32 hasPREFETCHWT1 : 1 PREFETCHWT1 (Intel Xeon Phi).
Fully qualified name: kfr::cpu_features::hasPREFETCHWT1
Declared at runtime/cpuid.hpp:90
variable hasRDRAND ¶
u32 hasRDRAND : 1 RDRAND random number.
Fully qualified name: kfr::cpu_features::hasRDRAND
Declared at runtime/cpuid.hpp:91
variable hasRDSEED ¶
u32 hasRDSEED : 1 RDSEED random seed.
Fully qualified name: kfr::cpu_features::hasRDSEED
Declared at runtime/cpuid.hpp:92
variable hasRDTSCP ¶
u32 hasRDTSCP : 1 RDTSCP instruction (Intel only).
Fully qualified name: kfr::cpu_features::hasRDTSCP
Declared at runtime/cpuid.hpp:93
variable hasRTM ¶
u32 hasRTM : 1 Restricted Transactional Memory (Intel only).
Fully qualified name: kfr::cpu_features::hasRTM
Declared at runtime/cpuid.hpp:94
variable hasSEP ¶
u32 hasSEP : 1 variable hasSHA ¶
u32 hasSHA : 1 SHA instruction set.
Fully qualified name: kfr::cpu_features::hasSHA
Declared at runtime/cpuid.hpp:96
variable hasSSE ¶
u32 hasSSE : 1 variable hasSSE2 ¶
u32 hasSSE2 : 1 variable hasSSE3 ¶
u32 hasSSE3 : 1 variable hasSSE41 ¶
u32 hasSSE41 : 1 variable hasSSE42 ¶
u32 hasSSE42 : 1 variable hasSSE4a ¶
u32 hasSSE4a : 1 variable hasSSSE3 ¶
u32 hasSSSE3 : 1 variable hasSYSCALL ¶
u32 hasSYSCALL : 1 SYSCALL/SYSRET (Intel only).
Fully qualified name: kfr::cpu_features::hasSYSCALL
Declared at runtime/cpuid.hpp:104
variable hasTBM ¶
u32 hasTBM : 1 AMD Trailing Bit Manipulation.
Fully qualified name: kfr::cpu_features::hasTBM
Declared at runtime/cpuid.hpp:105
variable hasXOP ¶
u32 hasXOP : 1 variable hasXSAVE ¶
u32 hasXSAVE : 1 variable padding1 ¶
u32 padding1 : 6 Fully qualified name: kfr::cpu_features::padding1
Declared at runtime/cpuid.hpp:108
variable vendor ¶
alignas(int32_t) char vendor[17] NUL-terminated CPUID vendor string (leaf 0).
Fully qualified name: kfr::cpu_features::vendor
Declared at runtime/cpuid.hpp:109
variable model ¶
alignas(int32_t) char model[49] NUL-terminated CPUID model/brand string (leaves 0x80000002–4).
Fully qualified name: kfr::cpu_features::model
Declared at runtime/cpuid.hpp:110
variable padding2 ¶
alignas(int32_t) char padding2[2] Fully qualified name: kfr::cpu_features::padding2
Declared at runtime/cpuid.hpp:111
Fully qualified name: kfr::cpu_features
Declared at runtime/cpuid.hpp:45