#[non_exhaustive]pub enum SimdSupport {
None,
Neon,
Sse,
Avx,
AvxFma,
Avx2,
Avx512,
Avx512FP16,
Lsx,
Lasx,
}Expand description
A level of SIMD support for some feature.
#[non_exhaustive] so future tiers (e.g. AVX-512 BF16, AMX) can be added
without breaking external match consumers.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
None
Neon
Sse
Avx
AVX (256-bit float ops) but no FMA and no AVX2. Intel Sandy Bridge / Ivy Bridge.
AvxFma
AVX + FMA but no AVX2. AMD Piledriver / Steamroller / FX-7500.
Avx2
AVX2 + FMA. Intel Haswell / AMD Excavator and later.
Selecting this tier asserts FMA is present: the kernels it dispatches to
are #[target_feature(enable = "avx,fma")].
Avx512
Avx512FP16
Lsx
Lasx
Trait Implementations§
Source§impl Clone for SimdSupport
impl Clone for SimdSupport
Source§fn clone(&self) -> SimdSupport
fn clone(&self) -> SimdSupport
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SimdSupport
Source§impl Debug for SimdSupport
impl Debug for SimdSupport
Source§impl Display for SimdSupport
impl Display for SimdSupport
impl Eq for SimdSupport
Source§impl PartialEq for SimdSupport
impl PartialEq for SimdSupport
impl StructuralPartialEq for SimdSupport
Auto Trait Implementations§
impl Freeze for SimdSupport
impl RefUnwindSafe for SimdSupport
impl Send for SimdSupport
impl Sync for SimdSupport
impl Unpin for SimdSupport
impl UnsafeUnpin for SimdSupport
impl UnwindSafe for SimdSupport
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.