omni::platforminfo::CpuFeature
Defined in omni/platforminfo/ICpuInfo.h
-
enum class omni::platforminfo::CpuFeature
CPU feature names.
Each feature name is used with ICpuInfo::isFeatureSupported() to determine if the requested CPU running on the calling system supports the feature. These feature flags mostly focus on the availability of specific instructions sets on the host CPU.
Values:
-
enumerator eX86Sse
Intel specific features.
These names are largely labeled to match the mnemonics used in the Intel Instruction Set Programming Reference document from Intel. For the most part, only the casing differs and ‘-’ has been converted to an underscore.
Note
Many of these features originated with Intel hardware and therefore have ‘X86’ in their name. However, many of these features are or can also be supported on AMD CPUs. If an AMD CPU is detected, these feature names could still be valid and the related instructions usable. Intel SSE instructions are supported.
-
enumerator eX86Sse2
Intel SSE2 instructions are supported.
-
enumerator eX86Sse3
Intel SSE3 instructions are supported.
-
enumerator eX86Ssse3
Intel supplementary SSE3 instructions are supported.
-
enumerator eX86Fma
Fused multiply-add SIMD operations are supported.
-
enumerator eX86Sse41
Intel SSE4.1 instructions are supported.
-
enumerator eX86Sse42
Intel SSE4.2 instructions are supported.
-
enumerator eX86Avx
Intel AVX instructions are supported.
-
enumerator eX86F16c
16-bit floating point conversion instructions are supported.
-
enumerator eX86Popcnt
Instruction for counting set bits are supported.
-
enumerator eX86Tsc
The
RDTSC
instruction is supported.
-
enumerator eX86Mmx
Intel MMX instructions are supported.
-
enumerator eX86Avx2
Intel AVX2 instructions are supported.
-
enumerator eX86Avx512F
The AVX-512 foundation instructions are supported.
-
enumerator eX86Avx512Dq
The AVX-512 double and quad word instructions are supported.
-
enumerator eX86Avx512Ifma
The AVX-512 integer fused multiply-add instructions are supported.
-
enumerator eX86Avx512Pf
The AVX-512 prefetch instructions are supported.
-
enumerator eX86Avx512Er
The AVX-512 exponential and reciprocal instructions are supported.
-
enumerator eX86Avx512Cd
The AVX-512 conflict detection instructions are supported.
-
enumerator eX86Avx512Bw
The AVX-512 byte and word instructions are supported.
-
enumerator eX86Avx512Vl
The AVX-512 vector length extensions instructions are supported.
-
enumerator eX86Avx512_Vbmi
The AVX-512 vector byte manipulation instructions are supported.
-
enumerator eX86Avx512_Vbmi2
The AVX-512 vector byte manipulation 2 instructions are supported.
-
enumerator eX86Avx512_Vnni
The AVX-512 vector neural network instructions are supported.
-
enumerator eX86Avx512_Bitalg
The AVX-512 bit algorithms instructions are supported.
-
enumerator eX86Avx512_Vpopcntdq
The AVX-512 vector population count instructions are supported.
-
enumerator eX86Avx512_4Vnniw
The AVX-512 word vector neural network instructions are supported.
-
enumerator eX86Avx512_4fmaps
The AVX-512 packed single fused multiply-add instructions are supported.
-
enumerator eX86Avx512_Vp2intersect
The AVX-512 vector pair intersection instructions are supported.
-
enumerator eX86AvxVnni
The AVX VEX-encoded versions of the neural network instructions are supported.
-
enumerator eX86Avx512_Bf16
The AVX-512 16-bit floating point vector NN instructions are supported.
-
enumerator eAmd3DNow
AMD specific features.
The AMD 3DNow! instruction set is supported.
-
enumerator eAmd3DNowExt
The AMD 3DNow! extensions instruction set is supported.
-
enumerator eAmdMmxExt
The AMD MMX extensions instruction set is supported.
-
enumerator eArmAsimd
ARM specific features:
The advanced SIMD instructions are supported.
-
enumerator eArmNeon
The ARM Neon instruction set is supported.
-
enumerator eArmAtomics
The ARMv8 atomic instructions are supported.
-
enumerator eArmSha
The SHA1 and SHA2 instruction sets are supported.
-
enumerator eArmCrypto
The ARM AES instructions are supported.
-
enumerator eArmCrc32
The ARM CRC32 instructions are supported.
-
enumerator eFeatureCount
-
enumerator eX86Sse