Warning: This is a development version. The latest stable version is Version 9.0.1.

class cpuid::cpuinfo

In header: #include <cpuid/cpuinfo.hpp>

Member functions (public)

  cpuinfo ()
  ~cpuinfo ()
bool has_fpu () const
bool has_mmx () const
bool has_sse () const
bool has_sse2 () const
bool has_sse3 () const
bool has_ssse3 () const
bool has_sse4_1 () const
bool has_sse4_2 () const
bool has_pclmulqdq () const
bool has_avx () const
bool has_avx2 () const
bool has_avx512_f () const
bool has_avx512_dq () const
bool has_avx512_ifma () const
bool has_avx512_pf () const
bool has_avx512_er () const
bool has_avx512_cd () const
bool has_avx512_bw () const
bool has_avx512_vl () const
bool has_avx512_vbmi () const
bool has_avx512_vbmi2 () const
bool has_avx512_vnni () const
bool has_avx512_bitalg () const
bool has_avx512_vpopcntdq () const
bool has_avx512_4vnniw () const
bool has_avx512_4fmaps () const
bool has_avx512_vp2intersect () const
bool has_f16c () const
bool has_aes () const
bool has_neon () const

Description

The cpuinfo object extract information about which, if any, additional instructions are supported by the CPU.

Member Function Descriptions

cpuinfo ()
Constructor for feature detection with default values.

~cpuinfo ()
Destructor.

bool has_fpu () const
Return true if the CPU supports x87 Floating-Point Unit.

bool has_mmx () const
Return true if the CPU supports MMX.

bool has_sse () const
Return true if the CPU supports Streaming SIMD Extensions.

bool has_sse2 () const
Return true if the CPU supports Streaming SIMD Extensions 2.

bool has_sse3 () const
Return true if the CPU supports Streaming SIMD Extensions 3.

bool has_ssse3 () const
Return true if the CPU supports Supplemental Streaming SIMD Extensions 3.

bool has_sse4_1 () const
Return true if the CPU supports Streaming SIMD Extensions 4.1.

bool has_sse4_2 () const
Return true if the CPU supports Streaming SIMD Extensions 4.2.

bool has_pclmulqdq () const
Return true if the CPU supports carry-less multiplication of two 64-bit polynomials over the finite field GF(2)

bool has_avx () const
Return true if the CPU supports Advanced Vector Extensions.

bool has_avx2 () const
Return true if the CPU supports Advanced Vector Extensions 2.

bool has_avx512_f () const
Return true if the CPU supports AVX-512 Foundation.

bool has_avx512_dq () const
Return true if the CPU supports AVX-512 Doubleword and Quadword Instructions

bool has_avx512_ifma () const
Return true if the CPU supports AVX-512 Integer Fused Multiply Add.

bool has_avx512_pf () const
Return true if the CPU supports AVX-512 Prefetch Instructions.

bool has_avx512_er () const
Return true if the CPU supports AVX-512 Exponential and Reciprocal Instructions

bool has_avx512_cd () const
Return true if the CPU supports AVX-512 Conflict Detection Instructions.

bool has_avx512_bw () const
Return true if the CPU supports AVX-512 Byte and Word Instructions.

bool has_avx512_vl () const
Return true if the CPU supports AVX-512 Vector Length Extensions.

bool has_avx512_vbmi () const
Return true if the CPU supports AVX-512 Vector Byte Manipulation Instructions

bool has_avx512_vbmi2 () const
Return true if the CPU supports AVX-512 Vector Byte Manipulation Instructions 2

bool has_avx512_vnni () const
Return true if the CPU supports AVX-512 Vector Neural Network Instructions

bool has_avx512_bitalg () const
Return true if the CPU supports AVX-512 Bit Algorithms.

bool has_avx512_vpopcntdq () const
Return true if the CPU supports Vector population count instruction.

bool has_avx512_4vnniw () const
Return true if the CPU supports AVX-512 Vector Neural Network Instructions Word variable precision

bool has_avx512_4fmaps () const
Return true if the CPU supports AVX-512 Fused Multiply Accumulation Packed Single precision

bool has_avx512_vp2intersect () const
Return true if the CPU supports AVX-512 Vector Pair Intersection to a Pair of Mask Registers

bool has_f16c () const
Return true if the CPU supports converting between half-precision and standard IEEE single-precision floating-point formats

bool has_aes () const
Return true if the CPU supports Advanced Encryption Standard instruction set

bool has_neon () const
Return true if the CPU supports ARM Advanced SIMD.
Versions
9.0.1
9.0.0
Development
latest