pub enum CpuFeature {
Show 14 variants
SSE2,
SSE3,
SSSE3,
SSE41,
SSE42,
POPCNT,
AVX,
BMI1,
BMI2,
AVX2,
AVX512DQ,
AVX512VL,
AVX512F,
LZCNT,
}
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 EnumSetConstHelper for CpuFeature
impl EnumSetConstHelper for CpuFeature
Source§const CONST_INIT_HELPER: __EnumSetInitHelper = __EnumSetInitHelper
const CONST_INIT_HELPER: __EnumSetInitHelper = __EnumSetInitHelper
The instance of the
ConstInitHelper
.Source§const CONST_OP_HELPER: __EnumSetOpHelper = __EnumSetOpHelper
const CONST_OP_HELPER: __EnumSetOpHelper = __EnumSetOpHelper
The instance of the
ConstOpHelper
.Source§type ConstInitHelper = __EnumSetInitHelper
type ConstInitHelper = __EnumSetInitHelper
A helper type used to convert values to EnumSets at compile-time.
Source§type ConstOpHelper = __EnumSetOpHelper
type ConstOpHelper = __EnumSetOpHelper
A helper type used to implement compile-time operations on enums.
Source§impl EnumSetTypePrivate for CpuFeature
impl EnumSetTypePrivate for CpuFeature
Source§const ALL_BITS: Self::Repr = {transmute(0x3fff): <target::CpuFeature as enumset::__internal::EnumSetTypePrivate>::Repr}
const ALL_BITS: Self::Repr = {transmute(0x3fff): <target::CpuFeature as enumset::__internal::EnumSetTypePrivate>::Repr}
A mask of bits that are valid in the bitset.
Source§const VARIANT_COUNT: u32 = 14u32
const VARIANT_COUNT: u32 = 14u32
The number of variants in the bitset.
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§unsafe fn enum_from_u32_checked(val: u32) -> Self
unsafe fn enum_from_u32_checked(val: u32) -> Self
Converts a bit position into an enum value, with an debug_assert.
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
Source§impl ToString for CpuFeature
impl ToString 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§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<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> 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.