Skip to content

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

FXSAVE/FXRSTOR.

Fully qualified name: kfr::cpu_features::hasFXSR

Declared at runtime/cpuid.hpp:77

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

MMX.

Fully qualified name: kfr::cpu_features::hasMMX

Declared at runtime/cpuid.hpp:82

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

MONITOR/MWAIT.

Fully qualified name: kfr::cpu_features::hasMONITOR

Declared at runtime/cpuid.hpp:84

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

SYSENTER/SYSEXIT.

Fully qualified name: kfr::cpu_features::hasSEP

Declared at runtime/cpuid.hpp:95

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

SSE.

Fully qualified name: kfr::cpu_features::hasSSE

Declared at runtime/cpuid.hpp:97

variable hasSSE2

u32 hasSSE2 : 1

SSE2.

Fully qualified name: kfr::cpu_features::hasSSE2

Declared at runtime/cpuid.hpp:98

variable hasSSE3

u32 hasSSE3 : 1

SSE3.

Fully qualified name: kfr::cpu_features::hasSSE3

Declared at runtime/cpuid.hpp:99

variable hasSSE41

u32 hasSSE41 : 1

SSE4.1.

Fully qualified name: kfr::cpu_features::hasSSE41

Declared at runtime/cpuid.hpp:100

variable hasSSE42

u32 hasSSE42 : 1

SSE4.2.

Fully qualified name: kfr::cpu_features::hasSSE42

Declared at runtime/cpuid.hpp:101

variable hasSSE4a

u32 hasSSE4a : 1

AMD SSE4a.

Fully qualified name: kfr::cpu_features::hasSSE4a

Declared at runtime/cpuid.hpp:102

variable hasSSSE3

u32 hasSSSE3 : 1

SSSE3.

Fully qualified name: kfr::cpu_features::hasSSSE3

Declared at runtime/cpuid.hpp:103

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

AMD XOP.

Fully qualified name: kfr::cpu_features::hasXOP

Declared at runtime/cpuid.hpp:106

variable hasXSAVE

u32 hasXSAVE : 1

XSAVE/XRSTOR.

Fully qualified name: kfr::cpu_features::hasXSAVE

Declared at runtime/cpuid.hpp:107

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

This file was generated by cxxdox, a C++ documentation generator based on MkDocs Material and libclang.