pub enum SimdLevel {
Scalar = 0,
Sse42 = 1,
Avx = 2,
Avx2 = 3,
Avx512 = 4,
Neon = 10,
Sve = 11,
}Expand description
Fine-grained SIMD instruction set level, used by the dispatch layer.
The ordering (Ord derived) is meaningful only within the x86-64 family;
ARM levels intentionally have large discriminants so that comparisons across
families are not accidentally relied upon.
Variants§
Scalar = 0
Scalar (no SIMD).
Sse42 = 1
SSE4.2 (128-bit, x86-64).
Avx = 2
AVX (256-bit, x86-64, no FMA).
Avx2 = 3
AVX2 with FMA (256-bit, x86-64).
Avx512 = 4
AVX-512F+BW+VL (512-bit, x86-64).
Neon = 10
NEON (128-bit, AArch64).
Sve = 11
SVE (scalable, AArch64).
Implementations§
Trait Implementations§
Source§impl Ord for SimdLevel
impl Ord for SimdLevel
Source§impl PartialOrd for SimdLevel
impl PartialOrd for SimdLevel
impl Copy for SimdLevel
impl Eq for SimdLevel
impl StructuralPartialEq for SimdLevel
Auto Trait Implementations§
impl Freeze for SimdLevel
impl RefUnwindSafe for SimdLevel
impl Send for SimdLevel
impl Sync for SimdLevel
impl Unpin for SimdLevel
impl UnsafeUnpin for SimdLevel
impl UnwindSafe for SimdLevel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more