#[doc(hidden)]#[repr(u8)]pub(crate) enum Feature {
Show 77 variants
aes = 0,
pclmulqdq = 1,
rdrand = 2,
rdseed = 3,
tsc = 4,
mmx = 5,
sse = 6,
sse2 = 7,
sse3 = 8,
ssse3 = 9,
sse4_1 = 10,
sse4_2 = 11,
sse4a = 12,
sha = 13,
avx = 14,
avx2 = 15,
sha512 = 16,
sm3 = 17,
sm4 = 18,
avx512f = 19,
avx512cd = 20,
avx512er = 21,
avx512pf = 22,
avx512bw = 23,
avx512dq = 24,
avx512vl = 25,
avx512ifma = 26,
avx512vbmi = 27,
avx512vpopcntdq = 28,
avx512vbmi2 = 29,
gfni = 30,
vaes = 31,
vpclmulqdq = 32,
avx512vnni = 33,
avx512bitalg = 34,
avx512bf16 = 35,
avx512vp2intersect = 36,
avx512fp16 = 37,
avxifma = 38,
avxneconvert = 39,
avxvnni = 40,
avxvnniint16 = 41,
avxvnniint8 = 42,
amx_tile = 43,
amx_int8 = 44,
amx_bf16 = 45,
amx_fp16 = 46,
amx_complex = 47,
amx_avx512 = 48,
amx_fp8 = 49,
amx_movrs = 50,
amx_tf32 = 51,
apxf = 52,
avx10_1 = 53,
avx10_2 = 54,
f16c = 55,
fma = 56,
bmi1 = 57,
bmi2 = 58,
lzcnt = 59,
tbm = 60,
popcnt = 61,
fxsr = 62,
xsave = 63,
xsaveopt = 64,
xsaves = 65,
xsavec = 66,
cmpxchg16b = 67,
kl = 68,
widekl = 69,
adx = 70,
rtm = 71,
movbe = 72,
movrs = 73,
ermsb = 74,
xop = 75,
_last = 76,
}stdarch_internal)Expand description
Each variant denotes a position in a bitset for a particular feature.
PLEASE: do not use this, it is an implementation detail subject to change.
Variants§
aes = 0
stdarch_internal)AES (Advanced Encryption Standard New Instructions AES-NI)
pclmulqdq = 1
stdarch_internal)CLMUL (Carry-less Multiplication)
rdrand = 2
stdarch_internal)RDRAND
rdseed = 3
stdarch_internal)RDSEED
tsc = 4
stdarch_internal)TSC (Time Stamp Counter)
mmx = 5
stdarch_internal)MMX (MultiMedia eXtensions)
sse = 6
stdarch_internal)SSE (Streaming SIMD Extensions)
sse2 = 7
stdarch_internal)SSE2 (Streaming SIMD Extensions 2)
sse3 = 8
stdarch_internal)SSE3 (Streaming SIMD Extensions 3)
ssse3 = 9
stdarch_internal)SSSE3 (Supplemental Streaming SIMD Extensions 3)
sse4_1 = 10
stdarch_internal)SSE4.1 (Streaming SIMD Extensions 4.1)
sse4_2 = 11
stdarch_internal)SSE4.2 (Streaming SIMD Extensions 4.2)
sse4a = 12
stdarch_internal)SSE4a (Streaming SIMD Extensions 4a)
sha = 13
stdarch_internal)SHA
avx = 14
stdarch_internal)AVX (Advanced Vector Extensions)
avx2 = 15
stdarch_internal)AVX2 (Advanced Vector Extensions 2)
sha512 = 16
stdarch_internal)SHA512
sm3 = 17
stdarch_internal)SM3
sm4 = 18
stdarch_internal)SM4
avx512f = 19
stdarch_internal)AVX-512 F (Foundation)
avx512cd = 20
stdarch_internal)AVX-512 CD (Conflict Detection Instructions)
avx512er = 21
stdarch_internal)AVX-512 ER (Expo nential and Reciprocal Instructions)
avx512pf = 22
stdarch_internal)AVX-512 PF (Prefetch Instructions)
avx512bw = 23
stdarch_internal)AVX-512 BW (Byte and Word Instructions)
avx512dq = 24
stdarch_internal)AVX-512 DQ (Doubleword and Quadword)
avx512vl = 25
stdarch_internal)AVX-512 VL (Vector Length Extensions)
avx512ifma = 26
stdarch_internal)AVX-512 IFMA (Integer Fused Multiply Add)
avx512vbmi = 27
stdarch_internal)AVX-512 VBMI (Vector Byte Manipulation Instructions)
avx512vpopcntdq = 28
stdarch_internal)AVX-512 VPOPCNTDQ (Vector Population Count Doubleword and Quadword)
avx512vbmi2 = 29
stdarch_internal)AVX-512 VBMI2 (Additional byte, word, dword and qword capabilities)
gfni = 30
stdarch_internal)AVX-512 GFNI (Galois Field New Instruction)
vaes = 31
stdarch_internal)AVX-512 VAES (Vector AES instruction)
vpclmulqdq = 32
stdarch_internal)AVX-512 VPCLMULQDQ (Vector PCLMULQDQ instructions)
avx512vnni = 33
stdarch_internal)AVX-512 VNNI (Vector Neural Network Instructions)
avx512bitalg = 34
stdarch_internal)AVX-512 BITALG (Support for VPOPCNT[B,W] and VPSHUFBITQMB)
avx512bf16 = 35
stdarch_internal)AVX-512 BF16 (BFLOAT16 instructions)
avx512vp2intersect = 36
stdarch_internal)AVX-512 P2INTERSECT
avx512fp16 = 37
stdarch_internal)AVX-512 FP16 (FLOAT16 instructions)
avxifma = 38
stdarch_internal)AVX-IFMA (Integer Fused Multiply Add)
avxneconvert = 39
stdarch_internal)AVX-NE-CONVERT (Exceptionless Convert)
avxvnni = 40
stdarch_internal)AVX-VNNI (Vector Neural Network Instructions)
avxvnniint16 = 41
stdarch_internal)AVX-VNNI_INT8 (VNNI with 16-bit Integers)
avxvnniint8 = 42
stdarch_internal)AVX-VNNI_INT16 (VNNI with 8-bit integers)
amx_tile = 43
stdarch_internal)AMX (Advanced Matrix Extensions) - Tile load/store
amx_int8 = 44
stdarch_internal)AMX-INT8 (Operations on 8-bit integers)
amx_bf16 = 45
stdarch_internal)AMX-BF16 (BFloat16 Operations)
amx_fp16 = 46
stdarch_internal)AMX-FP16 (Float16 Operations)
amx_complex = 47
stdarch_internal)AMX-COMPLEX (Complex number Operations)
amx_avx512 = 48
stdarch_internal)AMX-AVX512 (AVX512 operations extended to matrices)
amx_fp8 = 49
stdarch_internal)AMX-FP8 (Float8 Operations)
amx_movrs = 50
stdarch_internal)AMX-MOVRS (Matrix MOVERS operations)
amx_tf32 = 51
stdarch_internal)AMX-TF32 (TensorFloat32 Operations)
apxf = 52
stdarch_internal)APX-F (Advanced Performance Extensions - Foundation)
avx10_1 = 53
stdarch_internal)AVX10.1
avx10_2 = 54
stdarch_internal)AVX10.2
f16c = 55
stdarch_internal)F16C (Conversions between IEEE-754 binary16 and binary32 formats)
fma = 56
stdarch_internal)FMA (Fused Multiply Add)
bmi1 = 57
stdarch_internal)BMI1 (Bit Manipulation Instructions 1)
bmi2 = 58
stdarch_internal)BMI2 (Bit Manipulation Instructions 2)
lzcnt = 59
stdarch_internal)ABM (Advanced Bit Manipulation) / LZCNT (Leading Zero Count)
tbm = 60
stdarch_internal)TBM (Trailing Bit Manipulation)
popcnt = 61
stdarch_internal)POPCNT (Population Count)
fxsr = 62
stdarch_internal)FXSR (Floating-point context fast save and restore)
xsave = 63
stdarch_internal)XSAVE (Save Processor Extended States)
xsaveopt = 64
stdarch_internal)XSAVEOPT (Save Processor Extended States Optimized)
xsaves = 65
stdarch_internal)XSAVES (Save Processor Extended States Supervisor)
xsavec = 66
stdarch_internal)XSAVEC (Save Processor Extended States Compacted)
cmpxchg16b = 67
stdarch_internal)CMPXCH16B (16-byte compare-and-swap instruction)
kl = 68
stdarch_internal)Intel Key Locker
widekl = 69
stdarch_internal)Intel Key Locker Wide
adx = 70
stdarch_internal)ADX, Intel ADX (Multi-Precision Add-Carry Instruction Extensions)
rtm = 71
stdarch_internal)RTM, Intel (Restricted Transactional Memory)
movbe = 72
stdarch_internal)MOVBE (Move Data After Swapping Bytes)
movrs = 73
stdarch_internal)MOVRS (Move data with the read-shared hint)
ermsb = 74
stdarch_internal)ERMSB, Enhanced REP MOVSB and STOSB
xop = 75
stdarch_internal)XOP: eXtended Operations (AMD)
_last = 76
stdarch_internal)