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§
Trait Implementations§
Source§impl<O: Into<EnumSet<CpuFeature>>> BitAnd<O> for CpuFeature
impl<O: Into<EnumSet<CpuFeature>>> BitAnd<O> for CpuFeature
Source§impl<O: Into<EnumSet<CpuFeature>>> BitOr<O> for CpuFeature
impl<O: Into<EnumSet<CpuFeature>>> BitOr<O> for CpuFeature
Source§impl<O: Into<EnumSet<CpuFeature>>> BitXor<O> for CpuFeature
impl<O: Into<EnumSet<CpuFeature>>> BitXor<O> for CpuFeature
Source§impl Clone for CpuFeature
impl Clone for CpuFeature
Source§impl Debug for CpuFeature
impl Debug for CpuFeature
Source§impl Display for CpuFeature
impl Display for CpuFeature
Source§impl EnumSetTypePrivate for CpuFeature
impl EnumSetTypePrivate for CpuFeature
Source§const CONST_HELPER_INSTANCE: __EnumSetConstHelper = __EnumSetConstHelper
const CONST_HELPER_INSTANCE: __EnumSetConstHelper = __EnumSetConstHelper
The instance of the
ConstHelper
.Source§const ALL_BITS: Self::Repr = {transmute(0x7fff): <types::target::CpuFeature as enumset::__internal::EnumSetTypePrivate>::Repr}
const ALL_BITS: Self::Repr = {transmute(0x7fff): <types::target::CpuFeature as enumset::__internal::EnumSetTypePrivate>::Repr}
A mask of bits that are valid in the bitset.
Source§const VARIANT_COUNT: u32 = 15u32
const VARIANT_COUNT: u32 = 15u32
The number of variants in the bitset.
Source§type ConstHelper = __EnumSetConstHelper
type ConstHelper = __EnumSetConstHelper
A helper type used to implement the
enum_set!
macro among other things.Source§fn enum_into_u32(self) -> u32
fn enum_into_u32(self) -> u32
Converts an enum of this type into its bit position.
Source§unsafe fn enum_from_u32(val: u32) -> Self
unsafe fn enum_from_u32(val: u32) -> Self
Converts a bit position into an enum value.
Source§impl FromStr for CpuFeature
impl FromStr for CpuFeature
Source§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: Into<EnumSet<CpuFeature>>> Sub<O> for CpuFeature
impl<O: Into<EnumSet<CpuFeature>>> 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<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> 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