pub enum Rv64ZalasrInstruction<Reg> {
LbAq {
rs1: Reg,
rd: Reg,
rl: bool,
/* private fields */
},
LhAq {
rs1: Reg,
rd: Reg,
rl: bool,
/* private fields */
},
LwAq {
rs1: Reg,
rd: Reg,
rl: bool,
/* private fields */
},
LdAq {
rs1: Reg,
rd: Reg,
rl: bool,
/* private fields */
},
SbRl {
rs1: Reg,
rs2: Reg,
aq: bool,
},
ShRl {
rs1: Reg,
rs2: Reg,
aq: bool,
},
SwRl {
rs1: Reg,
rs2: Reg,
aq: bool,
},
SdRl {
rs1: Reg,
rs2: Reg,
aq: bool,
},
}Expand description
RISC-V RV64 Zalasr instruction (Load-Acquire/Store-Release).
Load-acquire instructions always carry an acquire annotation (not stored as a field since it
is always true), plus an optional release annotation stored in rl. Store-release
instructions always carry a release annotation (not stored as a field since it is always
true), plus an optional acquire annotation stored in aq.
Variants§
LbAq
Load-acquire byte
LhAq
Load-acquire halfword
LwAq
Load-acquire word
LdAq
Load-acquire doubleword
SbRl
Store-release byte
ShRl
Store-release halfword
SwRl
Store-release word
SdRl
Store-release doubleword
Trait Implementations§
Source§impl<Reg: Clone> Clone for Rv64ZalasrInstruction<Reg>
impl<Reg: Clone> Clone for Rv64ZalasrInstruction<Reg>
Source§fn clone(&self) -> Rv64ZalasrInstruction<Reg>
fn clone(&self) -> Rv64ZalasrInstruction<Reg>
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<Reg: Copy> Copy for Rv64ZalasrInstruction<Reg>
Source§impl<Reg: Debug> Debug for Rv64ZalasrInstruction<Reg>
impl<Reg: Debug> Debug for Rv64ZalasrInstruction<Reg>
§impl<Reg> Display for Rv64ZalasrInstruction<Reg>where
Reg: Display,
impl<Reg> Display for Rv64ZalasrInstruction<Reg>where
Reg: Display,
impl<Reg: Eq> Eq for Rv64ZalasrInstruction<Reg>
§impl<Reg> Instruction for Rv64ZalasrInstruction<Reg>
impl<Reg> Instruction for Rv64ZalasrInstruction<Reg>
§const IMPLEMENTED_EXTENSIONS: &'static [TypeId]
const IMPLEMENTED_EXTENSIONS: &'static [TypeId]
Types of all fully implemented extensions. Read more
§fn try_decode(instruction: u32) -> Option<Self>
fn try_decode(instruction: u32) -> Option<Self>
Try to decode a single valid instruction
Source§fn implements_extension<E>() -> boolwhere
E: Instruction<Reg = Self::Reg>,
fn implements_extension<E>() -> boolwhere
E: Instruction<Reg = Self::Reg>,
Checks whether this instruction implements the given extension
Source§impl<Reg: PartialEq> PartialEq for Rv64ZalasrInstruction<Reg>
impl<Reg: PartialEq> PartialEq for Rv64ZalasrInstruction<Reg>
impl<Reg: PartialEq> StructuralPartialEq for Rv64ZalasrInstruction<Reg>
Auto Trait Implementations§
impl<Reg> Freeze for Rv64ZalasrInstruction<Reg>where
Reg: Freeze,
impl<Reg> RefUnwindSafe for Rv64ZalasrInstruction<Reg>where
Reg: RefUnwindSafe,
impl<Reg> Send for Rv64ZalasrInstruction<Reg>where
Reg: Send,
impl<Reg> Sync for Rv64ZalasrInstruction<Reg>where
Reg: Sync,
impl<Reg> Unpin for Rv64ZalasrInstruction<Reg>where
Reg: Unpin,
impl<Reg> UnsafeUnpin for Rv64ZalasrInstruction<Reg>where
Reg: UnsafeUnpin,
impl<Reg> UnwindSafe for Rv64ZalasrInstruction<Reg>where
Reg: UnwindSafe,
Blanket Implementations§
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