Enum Feature

Source
#[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,
}
🔬This is a nightly-only experimental API. (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

🔬This is a nightly-only experimental API. (stdarch_internal)

AES (Advanced Encryption Standard New Instructions AES-NI)

§

pclmulqdq = 1

🔬This is a nightly-only experimental API. (stdarch_internal)

CLMUL (Carry-less Multiplication)

§

rdrand = 2

🔬This is a nightly-only experimental API. (stdarch_internal)

RDRAND

§

rdseed = 3

🔬This is a nightly-only experimental API. (stdarch_internal)

RDSEED

§

tsc = 4

🔬This is a nightly-only experimental API. (stdarch_internal)

TSC (Time Stamp Counter)

§

mmx = 5

🔬This is a nightly-only experimental API. (stdarch_internal)

MMX (MultiMedia eXtensions)

§

sse = 6

🔬This is a nightly-only experimental API. (stdarch_internal)

SSE (Streaming SIMD Extensions)

§

sse2 = 7

🔬This is a nightly-only experimental API. (stdarch_internal)

SSE2 (Streaming SIMD Extensions 2)

§

sse3 = 8

🔬This is a nightly-only experimental API. (stdarch_internal)

SSE3 (Streaming SIMD Extensions 3)

§

ssse3 = 9

🔬This is a nightly-only experimental API. (stdarch_internal)

SSSE3 (Supplemental Streaming SIMD Extensions 3)

§

sse4_1 = 10

🔬This is a nightly-only experimental API. (stdarch_internal)

SSE4.1 (Streaming SIMD Extensions 4.1)

§

sse4_2 = 11

🔬This is a nightly-only experimental API. (stdarch_internal)

SSE4.2 (Streaming SIMD Extensions 4.2)

§

sse4a = 12

🔬This is a nightly-only experimental API. (stdarch_internal)

SSE4a (Streaming SIMD Extensions 4a)

§

sha = 13

🔬This is a nightly-only experimental API. (stdarch_internal)

SHA

§

avx = 14

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX (Advanced Vector Extensions)

§

avx2 = 15

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX2 (Advanced Vector Extensions 2)

§

sha512 = 16

🔬This is a nightly-only experimental API. (stdarch_internal)

SHA512

§

sm3 = 17

🔬This is a nightly-only experimental API. (stdarch_internal)

SM3

§

sm4 = 18

🔬This is a nightly-only experimental API. (stdarch_internal)

SM4

§

avx512f = 19

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 F (Foundation)

§

avx512cd = 20

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 CD (Conflict Detection Instructions)

§

avx512er = 21

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 ER (Expo nential and Reciprocal Instructions)

§

avx512pf = 22

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 PF (Prefetch Instructions)

§

avx512bw = 23

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 BW (Byte and Word Instructions)

§

avx512dq = 24

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 DQ (Doubleword and Quadword)

§

avx512vl = 25

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 VL (Vector Length Extensions)

§

avx512ifma = 26

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 IFMA (Integer Fused Multiply Add)

§

avx512vbmi = 27

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 VBMI (Vector Byte Manipulation Instructions)

§

avx512vpopcntdq = 28

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 VPOPCNTDQ (Vector Population Count Doubleword and Quadword)

§

avx512vbmi2 = 29

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 VBMI2 (Additional byte, word, dword and qword capabilities)

§

gfni = 30

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 GFNI (Galois Field New Instruction)

§

vaes = 31

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 VAES (Vector AES instruction)

§

vpclmulqdq = 32

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 VPCLMULQDQ (Vector PCLMULQDQ instructions)

§

avx512vnni = 33

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 VNNI (Vector Neural Network Instructions)

§

avx512bitalg = 34

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 BITALG (Support for VPOPCNT[B,W] and VPSHUFBITQMB)

§

avx512bf16 = 35

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 BF16 (BFLOAT16 instructions)

§

avx512vp2intersect = 36

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 P2INTERSECT

§

avx512fp16 = 37

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-512 FP16 (FLOAT16 instructions)

§

avxifma = 38

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-IFMA (Integer Fused Multiply Add)

§

avxneconvert = 39

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-NE-CONVERT (Exceptionless Convert)

§

avxvnni = 40

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-VNNI (Vector Neural Network Instructions)

§

avxvnniint16 = 41

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-VNNI_INT8 (VNNI with 16-bit Integers)

§

avxvnniint8 = 42

🔬This is a nightly-only experimental API. (stdarch_internal)

AVX-VNNI_INT16 (VNNI with 8-bit integers)

§

amx_tile = 43

🔬This is a nightly-only experimental API. (stdarch_internal)

AMX (Advanced Matrix Extensions) - Tile load/store

§

amx_int8 = 44

🔬This is a nightly-only experimental API. (stdarch_internal)

AMX-INT8 (Operations on 8-bit integers)

§

amx_bf16 = 45

🔬This is a nightly-only experimental API. (stdarch_internal)

AMX-BF16 (BFloat16 Operations)

§

amx_fp16 = 46

🔬This is a nightly-only experimental API. (stdarch_internal)

AMX-FP16 (Float16 Operations)

§

amx_complex = 47

🔬This is a nightly-only experimental API. (stdarch_internal)

AMX-COMPLEX (Complex number Operations)

§

amx_avx512 = 48

🔬This is a nightly-only experimental API. (stdarch_internal)

AMX-AVX512 (AVX512 operations extended to matrices)

§

amx_fp8 = 49

🔬This is a nightly-only experimental API. (stdarch_internal)

AMX-FP8 (Float8 Operations)

§

amx_movrs = 50

🔬This is a nightly-only experimental API. (stdarch_internal)

AMX-MOVRS (Matrix MOVERS operations)

§

amx_tf32 = 51

🔬This is a nightly-only experimental API. (stdarch_internal)

AMX-TF32 (TensorFloat32 Operations)

§

amx_transpose = 52

🔬This is a nightly-only experimental API. (stdarch_internal)

AMX-TRANSPOSE (Matrix Transpose Operations)

§

f16c = 53

🔬This is a nightly-only experimental API. (stdarch_internal)

F16C (Conversions between IEEE-754 binary16 and binary32 formats)

§

fma = 54

🔬This is a nightly-only experimental API. (stdarch_internal)

FMA (Fused Multiply Add)

§

bmi1 = 55

🔬This is a nightly-only experimental API. (stdarch_internal)

BMI1 (Bit Manipulation Instructions 1)

§

bmi2 = 56

🔬This is a nightly-only experimental API. (stdarch_internal)

BMI2 (Bit Manipulation Instructions 2)

§

lzcnt = 57

🔬This is a nightly-only experimental API. (stdarch_internal)

ABM (Advanced Bit Manipulation) / LZCNT (Leading Zero Count)

§

tbm = 58

🔬This is a nightly-only experimental API. (stdarch_internal)

TBM (Trailing Bit Manipulation)

§

popcnt = 59

🔬This is a nightly-only experimental API. (stdarch_internal)

POPCNT (Population Count)

§

fxsr = 60

🔬This is a nightly-only experimental API. (stdarch_internal)

FXSR (Floating-point context fast save and restore)

§

xsave = 61

🔬This is a nightly-only experimental API. (stdarch_internal)

XSAVE (Save Processor Extended States)

§

xsaveopt = 62

🔬This is a nightly-only experimental API. (stdarch_internal)

XSAVEOPT (Save Processor Extended States Optimized)

§

xsaves = 63

🔬This is a nightly-only experimental API. (stdarch_internal)

XSAVES (Save Processor Extended States Supervisor)

§

xsavec = 64

🔬This is a nightly-only experimental API. (stdarch_internal)

XSAVEC (Save Processor Extended States Compacted)

§

cmpxchg16b = 65

🔬This is a nightly-only experimental API. (stdarch_internal)

CMPXCH16B (16-byte compare-and-swap instruction)

§

kl = 66

🔬This is a nightly-only experimental API. (stdarch_internal)

Intel Key Locker

§

widekl = 67

🔬This is a nightly-only experimental API. (stdarch_internal)

Intel Key Locker Wide

§

adx = 68

🔬This is a nightly-only experimental API. (stdarch_internal)

ADX, Intel ADX (Multi-Precision Add-Carry Instruction Extensions)

§

rtm = 69

🔬This is a nightly-only experimental API. (stdarch_internal)

RTM, Intel (Restricted Transactional Memory)

§

movbe = 70

🔬This is a nightly-only experimental API. (stdarch_internal)

MOVBE (Move Data After Swapping Bytes)

§

movrs = 71

🔬This is a nightly-only experimental API. (stdarch_internal)

MOVRS (Move data with the read-shared hint)

§

ermsb = 72

🔬This is a nightly-only experimental API. (stdarch_internal)

ERMSB, Enhanced REP MOVSB and STOSB

§

xop = 73

🔬This is a nightly-only experimental API. (stdarch_internal)

XOP: eXtended Operations (AMD)

§

_last = 74

🔬This is a nightly-only experimental API. (stdarch_internal)

Implementations§

Source§

impl Feature

Source

pub(crate) fn to_str(self) -> &'static str

🔬This is a nightly-only experimental API. (stdarch_internal)

Trait Implementations§

Source§

impl Clone for Feature

Source§

fn clone(&self) -> Feature

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Feature