pub enum Fmt {
R,
I,
IShift,
IShift32,
Store,
Branch,
U,
Unary,
}Expand description
Instruction format — selects how encode_op places operands.
Variants§
R
rd, rs1, rs2 (OP / OP-32). aux = funct7.
I
rd, rs1, imm12 (OP-IMM / OP-IMM-32 / LOAD).
IShift
rd, rs1, shamt6 (64-bit shift / Zbs-imm). aux = funct6.
IShift32
rd, rs1, shamt5 (W shift). aux = funct7.
Store
rs1(base), rs2(val), imm12 (STORE).
Branch
rs1, rs2, imm13 (BRANCH).
U
rd, imm20 (LUI / AUIPC).
Unary
rd, rs1 with a fixed function code (Zbb unary). aux = funct12.
Trait Implementations§
impl Copy for Fmt
impl Eq for Fmt
impl StructuralPartialEq for Fmt
Auto Trait Implementations§
impl Freeze for Fmt
impl RefUnwindSafe for Fmt
impl Send for Fmt
impl Sync for Fmt
impl Unpin for Fmt
impl UnsafeUnpin for Fmt
impl UnwindSafe for Fmt
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§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.