pub enum CpuFeature {
Show 15 variants
SSE2,
SSE3,
SSSE3,
SSE41,
SSE42,
POPCNT,
AVX,
BMI1,
BMI2,
AVX2,
AVX512DQ,
AVX512VL,
AVX512F,
LZCNT,
NEON,
}
Expand description
The nomenclature is inspired by the cpuid
crate.
The list of supported features was initially retrieved from
cranelift-native
.
The CpuFeature
enum values are likely to grow closer to the
original cpuid
. However, we prefer to start small and grow from there.
If you would like to use a flag that doesn’t exist yet here, please open a PR.
Variants§
Implementations§
Source§impl CpuFeature
impl CpuFeature
Sourcepub fn for_host() -> EnumSet<CpuFeature>
pub fn for_host() -> EnumSet<CpuFeature>
Retrieves the features for the current Host
Sourcepub fn set() -> EnumSet<CpuFeature>
pub fn set() -> EnumSet<CpuFeature>
Retrieves an empty set of CpuFeature
s.
Trait Implementations§
Source§impl<O> BitAnd<O> for CpuFeature
impl<O> BitAnd<O> for CpuFeature
Source§impl<O> BitOr<O> for CpuFeature
impl<O> BitOr<O> for CpuFeature
Source§impl<O> BitXor<O> for CpuFeature
impl<O> BitXor<O> for CpuFeature
Source§impl Clone for CpuFeature
impl Clone for CpuFeature
Source§fn clone(&self) -> CpuFeature
fn clone(&self) -> CpuFeature
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CpuFeature
impl Debug for CpuFeature
Source§impl Display for CpuFeature
impl Display for CpuFeature
Source§impl FromStr for CpuFeature
impl FromStr for CpuFeature
Source§type Err = ParseCpuFeatureError
type Err = ParseCpuFeatureError
The associated error which can be returned from parsing.
Source§fn from_str(s: &str) -> Result<CpuFeature, <CpuFeature as FromStr>::Err>
fn from_str(s: &str) -> Result<CpuFeature, <CpuFeature as FromStr>::Err>
Parses a string
s
to return a value of this type. Read moreSource§impl Hash for CpuFeature
impl Hash for CpuFeature
Source§impl Not for CpuFeature
impl Not for CpuFeature
Source§impl PartialEq<EnumSet<CpuFeature>> for CpuFeature
impl PartialEq<EnumSet<CpuFeature>> for CpuFeature
Source§impl PartialEq for CpuFeature
impl PartialEq for CpuFeature
Source§impl<O> Sub<O> for CpuFeature
impl<O> Sub<O> for CpuFeature
impl Copy for CpuFeature
impl EnumSetType for CpuFeature
impl Eq for CpuFeature
Auto Trait Implementations§
impl Freeze for CpuFeature
impl RefUnwindSafe for CpuFeature
impl Send for CpuFeature
impl Sync for CpuFeature
impl Unpin for CpuFeature
impl UnwindSafe for CpuFeature
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
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.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.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out
indicating that a T
is niched.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref