|
cpuidpp 1.0.0
C++11 library for identifying CPU features
|
cpuidpp functions. More...
Functions | |
| bool | acpi () |
| Indicates whether Onboard thermal control MSRs for ACPI is supported. | |
| bool | adx () |
| Indicates whether Intel ADX (Multi-Precision Add-Carry Instruction Extensions) is supported. | |
| bool | aes () |
| Indicates whether the AES instruction set is supported. | |
| bool | apic () |
| Indicates whether Onboard Advanced Programmable Interrupt Controller is supported. | |
| bool | avx () |
| Indicates whether Advanced Vector Extensions are supported. | |
| bool | avx2 () |
| Indicates whether Advanced Vector Extensions 2 are supported. | |
| bool | avx512_4fmaps () |
| Indicates whether AVX-512 Multiply Accumulation Single precision is supported. | |
| bool | avx512_4vnniw () |
| Indicates whether AVX-512 Neural Network instructions are supported. | |
| bool | avx512bw () |
| Indicates whether AVX-512 Byte and Word instructions are supported. | |
| bool | avx512cd () |
| Indicates whether AVX-512 Conflict Detection Instructions are supported. | |
| bool | avx512dq () |
| Indicates whether AVX-512 Doubleword and Quadword Instructions are supported. | |
| bool | avx512er () |
| Indicates whether AVX-512 Exponential and Reciprocal Instructions are supported. | |
| bool | avx512f () |
| Indicates whether AVX-512 Foundation is supported. | |
| bool | avx512ifma () |
| Indicates whether AVX-512 Integer Fused Multiply-Add Instructions are supported. | |
| bool | avx512pf () |
| Indicates whether AVX-512 Prefetch Instructions are supported. | |
| bool | avx512vbmi () |
| Indicates whether AVX-512 Vector Bit Manipulation Instructions are supported. | |
| bool | avx512vl () |
| Indicates whether AVX-512 Vector Length Extensions are supported. | |
| bool | avx512vpopcntdq () |
| Indicates whether AVX-512 Vector Population Count D/Q are supported. | |
| bool | bmi1 () |
| Indicates whether the Bit Manipulation Instruction Set 1 is supported. | |
| bool | bmi2 () |
| Indicates whether the Bit Manipulation Instruction Set 2 is supported. | |
| bool | clflushopt () |
Indicates whether the CLFLUSHOPT instruction is supported. | |
| bool | clfsh () |
Indicates whether the CLFLUSH instruction is supported. | |
| bool | clwb () |
Indicates whether the CLWB instruction is supported. | |
| bool | cmov () |
Indicates whether the Conditional move and FCMOV instructions are supported. | |
| bool | cnxt_id () |
| Indicates whether L1 Context ID is supported. | |
| bool | cx16 () |
Indicates whether the CMPXCHG16B instruction is supported. | |
| bool | cx8 () |
| Indicates whether the CMPXCHG8 (compare-and-swap) instruction is supported. | |
| bool | dbx () |
| Indicates whether Data breakpoint extensions are supported. | |
| bool | dca () |
| Indicates whether Direct cache access for DMA writes is supported. | |
| bool | de () |
| Indicates whether debugging extensions (CR4 bit 3) are supported. | |
| bool | ds () |
| Indicates whether Debug store: save trace of executed jumps are supported. | |
| bool | ds_cpl () |
| Indicates whether CPL qualified debug store is supported. | |
| bool | dtes64 () |
| Indicates whether 64-bit debug store (edx bit 21) is supported. | |
| bool | eist () |
| Indicates whether Enhanced SpeedStep is supported. | |
| bool | erms () |
| Indicates whether Enhanced REP MOVSB/STOSB is supported. | |
| bool | extapic () |
| Indicates whether Extended APIC space is supported. | |
| bool | f16c () |
| Indicates whether F16C (half-precision) FP is supported. | |
| bool | fma () |
| Indicates whether Fused multiply-add (FMA3) is supported. | |
| bool | fpu () |
| Indicates whether onboard x87 FPU is supported. | |
| bool | fsgsbase () |
Indicates whether access to base of fs and gs is supported. | |
| bool | fxsr () |
Indicates whether FXSAVE, FXRESTOR instructions, CR4 bit 9 are supported. | |
| bool | fxsr_opt () |
| Indicates whether FXSAVE/FXRSTOR optimizations are supported. | |
| bool | hle () |
| Indicates whether Transactional Synchronization Extensions are supported. | |
| bool | htt () |
| Indicates whether Hyper-threading is supported. | |
| bool | hypervisor () |
| Indicates whether we are running on a hypervisor (always 0 on a real CPU, but also with some hypervisors). | |
| bool | ia64 () |
| Indicates whether this is a IA64 processor emulating x86. | |
| bool | intel_pt () |
| Indicates whether Intel Processor Trace is supported. | |
| bool | invpcid () |
Indicates whether the INVPCID instruction is supported. | |
| bool | lm () |
| Indicates whether Long mode is active. | |
| bool | mca () |
| Indicates whether the Machine Check Architecture is supported. | |
| bool | mce () |
| Indicates whether Machine Check Exception is supported. | |
| bool | mmx () |
| Indicates whether MMX instructions are supported. | |
| bool | mmxext () |
| Indicates whether Extended MMX is supported. | |
| const std::string & | model () |
| Returns the model of the CPU. | |
| bool | monitor () |
Indicates whether MONITOR and MWAIT instructions are supported. | |
| bool | movbe () |
Indicates whether the MOVBE instruction (big-endian) is supported. | |
| bool | mp () |
| Indicates whether the system is multiprocessor capable. | |
| bool | mpx () |
| Indicates whether Intel MPX (Memory Protection Extensions) is supported. | |
| bool | msr () |
| Indicates whether Model-specific registers are supported. | |
| bool | mtrr () |
| Indicates whether Memory Type Range Registers are supported. | |
| bool | nx () |
| Indicates whether NX bit is supported. | |
| bool | ospke () |
| Indicates whether PKU is enabled by OS. | |
| bool | oxsave () |
Indicates whether XSAVE is enabled by OS. | |
| bool | pae () |
| Indicates whether Physical Address Extension is supported. | |
| bool | pat () |
| Indicates whether the Page Attribute Table is supported. | |
| bool | pbe () |
| Indicates whether Pending Break Enable (PBE# pin) wakeup is supported. | |
| bool | pcid () |
| Indicates whether Process context identifiers (CR4 bit 17) are supported. | |
| bool | pclmulqdq () |
Indicates whether the PCLMULQDQ instruction is supported. | |
| bool | pcommit () |
Indicates whether PCOMMIT instruction is supported. | |
| bool | pcx_l2i () |
| Indicates whether L2I perf counter extensions are supported. | |
| bool | pdcm () |
| Indicates whether Perfmon and debug capability is supported. | |
| bool | pdpe1gb () |
| Indicates whether Gibibyte pages are supported. | |
| bool | perfctr_core () |
| Indicates whether Core performance counter extensions are supported. | |
| bool | perfctr_nb () |
| Indicates whether NB performance counter extensions are supported. | |
| bool | perftsc () |
| Indicates whether Performance TSC is supported. | |
| bool | pge () |
| Indicates whether the Page Global Enable bit in CR4 is supported. | |
| bool | pku () |
| Indicates whether Memory Protection Keys for User-mode pages is supported. | |
| bool | popcnt () |
Indicates whether the POPCNT instruction is supported. | |
| bool | pqe () |
| Indicates whether Platform Quality of Service Enforcement is supported. | |
| bool | pqm () |
| Indicates whether Platform Quality of Service Monitoring is supported. | |
| bool | prefetchwt1 () |
Indicates whether the PREFETCHWT1 instruction is supported. | |
| bool | pse () |
| Indicates whether the Page Size Extension is supported. | |
| bool | pse36 () |
| Indicates whether the 36-bit page size extension is supported. | |
| bool | psn () |
| Indicates whether the Processor Serial Number is supported. | |
| bool | rdpid () |
| Indicates whether Read Processor ID is supported. | |
| bool | rdrnd () |
Indicates whether the RDRAND (on-chip random number generator) instruction is supported. | |
| bool | rdseed () |
Indicates whether the RDSEED instruction is supported. | |
| bool | rdtscp () |
Indicates whether the RDTSCP instruction is supported. | |
| bool | rtm () |
| Indicates whether Transactional Synchronization Extensions are supported. | |
| bool | sdbg () |
| Indicates whether Silicon Debug interface is supported. | |
| bool | sep () |
Indicates whether the SYSENTER and SYSEXIT instructions are supported. | |
| bool | sgx () |
| Indicates whether Software Guard Extensions are supported. | |
| bool | sgx_lc () |
| Indicates whether SGX Launch Configuration is supported. | |
| bool | sha () |
| Indicates whether Intel SHA extensions are supported. | |
| bool | smap () |
| Indicates whether Supervisor Mode Access Prevention is supported. | |
| bool | smep () |
| Indicates whether Supervisor-Mode Execution Prevention is supported. | |
| bool | smx () |
| Indicates whether Safer Mode Extensions are supported. | |
| bool | ss () |
| Indicates whether CPU cache supports self-snoop is supported. | |
| bool | sse () |
| Indicates whether SSE instructions are supported. | |
| bool | sse2 () |
| Indicates whether SSE2 instructions are supported. | |
| bool | sse3 () |
| Indicates whether SSE3 instructions are supported. | |
| bool | sse4_1 () |
| Indicates whether SSE4.1 instructions are supported. | |
| bool | sse4_2 () |
| Indicates whether SSE4.2 instructions are supported. | |
| bool | ssse3 () |
| Indicates whether SSSE3 instructions are supported. | |
| bool | tm () |
| Indicates whether Thermal monitor automatically limits temperature is supported. | |
| bool | tm2 () |
| Indicates whether Thermal Monitor 2 is supported. | |
| bool | tsc () |
| Indicates whether the Time Stamp Counter is supported. | |
| bool | tsc_deadline () |
| Indicates whether APIC supports one-shot operation using a TSC deadline value. | |
| bool | umip () |
| Indicates whether User-mode Instruction Prevention is supported. | |
| const std::string & | vendor () |
| Returns the vendor ID. | |
| bool | vme () |
| Indicates whether virtual 8086 mode extensions (such as VIF, VIP, PIV) are supported. | |
| bool | vmx () |
| Indicates whether Virtual Machine eXtensions are supported. | |
| bool | x2apic () |
| Indicates whether x2APIC is supported. | |
| bool | xsave () |
Indicates whether XSAVE, XRESTOR, XSETBV, XGETBV are supported. | |
| bool | xtpr () |
| Indicates whether sending task priority messages can be disabled. | |
AMD feature flags | |
CPU features specific to AMD processors. | |
| bool | abm () |
Indicates whether Advanced bit manipulation (LZCNT and POPCNT) is supported. | |
| bool | amd_3dnow () |
| Indicates whether 3DNow! is supported. | |
| bool | amd_3dnowext () |
| Indicates whether Extended 3DNow! is supported. | |
| bool | amd_3dnowprefetch () |
Indicates whether the PREFETCH and PREFETCHW instructions are supported. | |
| bool | cmp_legacy () |
| Indicates whether Hyperthreading is not valid. | |
| bool | cr8_legacy () |
| Indicates whether CR8 in 32-bit mode is supported. | |
| bool | ibs () |
| Indicates whether Instruction Based Sampling is supported. | |
| bool | lahf_lm () |
| Indicates whether LAHF/SAHF in long mode is supported. | |
| bool | osvw () |
| Indicates whether OS Visible Workaround is active. | |
| bool | misalignsse () |
| Indicates whether the Misaligned SSE mode is supported. | |
| bool | skinit () |
Indicates whether SKINIT/STGI instructions are supported. | |
| bool | syscall () |
Indicates whether SYSCALL and SYSRET instructions are supported. | |
| bool | svm () |
| Secure Virtual Machine. | |
| bool | sse4a () |
| Indicates whether SSE4a instructions are supported. | |
| bool | wdt () |
| Indicates whether the Watchdog timer is supported. | |
| bool | xop () |
| Indicates whether XOP instruction set is supported. | |
| bool | lwp () |
| Indicates whether Light Weight Profiling is supported. | |
| bool | fma4 () |
| Indicates whether 4 operands fused multiply-add is supported. | |
| bool | tce () |
| Indicates whether Translation Cache Extension is supported. | |
| bool | nodeid_msr () |
| Indicates whether NodeID MSR is supported. | |
| bool | tbm () |
| Indicates whether Trailing Bit Manipulation is supported. | |
| bool | topoext () |
| Indicates whether Topology Extensions are supported. | |
cpuidpp functions.
| const std::string & cpuidpp::vendor | ( | ) |
Returns the vendor ID.
The following are known manufacturer ID string:
"AMDisbetter!" – early engineering samples of AMD K5 processor"AuthenticAMD" – AMD"CentaurHauls" – Centaur (Including some VIA CPU)"CyrixInstead" – Cyrix"GenuineIntel" – Intel"TransmetaCPU" – Transmeta"GenuineTMx86" – Transmeta"Geode by NSC" – National Semiconductor"NexGenDriven" – NexGen"RiseRiseRise" – Rise"SiS SiS SiS " – SiS"UMC UMC UMC " – UMC"VIA VIA VIA " – VIA"Vortex86 SoC" – VortexThe following are known ID strings from virtual machines:
"KVMKVMKVM" – KVM"Microsoft Hv" – Microsoft Hyper-V or Windows Virtual PC" lrpepyh vr" – Parallels (it possibly should be "prl hyperv ", but it is encoded as " lrpepyh vr")"VMwareVMware" – VMware"XenVMMXenVMM" – Xen HVM