#[repr(u8)]#[doc(hidden)] pub(crate) enum Feature {
Show 75 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,
amx_transpose = 52,
f16c = 53,
fma = 54,
bmi1 = 55,
bmi2 = 56,
lzcnt = 57,
tbm = 58,
popcnt = 59,
fxsr = 60,
xsave = 61,
xsaveopt = 62,
xsaves = 63,
xsavec = 64,
cmpxchg16b = 65,
kl = 66,
widekl = 67,
adx = 68,
rtm = 69,
movbe = 70,
movrs = 71,
ermsb = 72,
xop = 73,
_last = 74,
}
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)
amx_transpose = 52
stdarch_internal
)AMX-TRANSPOSE (Matrix Transpose Operations)
f16c = 53
stdarch_internal
)F16C (Conversions between IEEE-754 binary16
and binary32
formats)
fma = 54
stdarch_internal
)FMA (Fused Multiply Add)
bmi1 = 55
stdarch_internal
)BMI1 (Bit Manipulation Instructions 1)
bmi2 = 56
stdarch_internal
)BMI2 (Bit Manipulation Instructions 2)
lzcnt = 57
stdarch_internal
)ABM (Advanced Bit Manipulation) / LZCNT (Leading Zero Count)
tbm = 58
stdarch_internal
)TBM (Trailing Bit Manipulation)
popcnt = 59
stdarch_internal
)POPCNT (Population Count)
fxsr = 60
stdarch_internal
)FXSR (Floating-point context fast save and restore)
xsave = 61
stdarch_internal
)XSAVE (Save Processor Extended States)
xsaveopt = 62
stdarch_internal
)XSAVEOPT (Save Processor Extended States Optimized)
xsaves = 63
stdarch_internal
)XSAVES (Save Processor Extended States Supervisor)
xsavec = 64
stdarch_internal
)XSAVEC (Save Processor Extended States Compacted)
cmpxchg16b = 65
stdarch_internal
)CMPXCH16B (16-byte compare-and-swap instruction)
kl = 66
stdarch_internal
)Intel Key Locker
widekl = 67
stdarch_internal
)Intel Key Locker Wide
adx = 68
stdarch_internal
)ADX, Intel ADX (Multi-Precision Add-Carry Instruction Extensions)
rtm = 69
stdarch_internal
)RTM, Intel (Restricted Transactional Memory)
movbe = 70
stdarch_internal
)MOVBE (Move Data After Swapping Bytes)
movrs = 71
stdarch_internal
)MOVRS (Move data with the read-shared hint)
ermsb = 72
stdarch_internal
)ERMSB, Enhanced REP MOVSB and STOSB
xop = 73
stdarch_internal
)XOP: eXtended Operations (AMD)
_last = 74
stdarch_internal
)