#[repr(u16, align(4))]pub enum Rv32ZaamoInstruction<Reg> {
Amoswap {
rs1: Reg,
rs2: Reg,
rd: Reg,
aq: bool,
rl: bool,
},
Amoadd {
rs1: Reg,
rs2: Reg,
rd: Reg,
aq: bool,
rl: bool,
},
Amoxor {
rs1: Reg,
rs2: Reg,
rd: Reg,
aq: bool,
rl: bool,
},
Amoand {
rs1: Reg,
rs2: Reg,
rd: Reg,
aq: bool,
rl: bool,
},
Amoor {
rs1: Reg,
rs2: Reg,
rd: Reg,
aq: bool,
rl: bool,
},
Amomin {
rs1: Reg,
rs2: Reg,
rd: Reg,
aq: bool,
rl: bool,
},
Amomax {
rs1: Reg,
rs2: Reg,
rd: Reg,
aq: bool,
rl: bool,
},
Amominu {
rs1: Reg,
rs2: Reg,
rd: Reg,
aq: bool,
rl: bool,
},
Amomaxu {
rs1: Reg,
rs2: Reg,
rd: Reg,
aq: bool,
rl: bool,
},
}Expand description
RISC-V RV32 Zaamo instruction (Atomic memory operations)
Variants§
Trait Implementations§
Source§impl<Reg: Clone> Clone for Rv32ZaamoInstruction<Reg>
impl<Reg: Clone> Clone for Rv32ZaamoInstruction<Reg>
Source§fn clone(&self) -> Rv32ZaamoInstruction<Reg>
fn clone(&self) -> Rv32ZaamoInstruction<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 Rv32ZaamoInstruction<Reg>
Source§impl<Reg: Debug> Debug for Rv32ZaamoInstruction<Reg>
impl<Reg: Debug> Debug for Rv32ZaamoInstruction<Reg>
§impl<Reg> Display for Rv32ZaamoInstruction<Reg>where
Reg: Display,
impl<Reg> Display for Rv32ZaamoInstruction<Reg>where
Reg: Display,
impl<Reg: Eq> Eq for Rv32ZaamoInstruction<Reg>
§impl<Reg> Instruction for Rv32ZaamoInstruction<Reg>
impl<Reg> Instruction for Rv32ZaamoInstruction<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 Rv32ZaamoInstruction<Reg>
impl<Reg: PartialEq> PartialEq for Rv32ZaamoInstruction<Reg>
impl<Reg: PartialEq> StructuralPartialEq for Rv32ZaamoInstruction<Reg>
Auto Trait Implementations§
impl<Reg> Freeze for Rv32ZaamoInstruction<Reg>where
Reg: Freeze,
impl<Reg> RefUnwindSafe for Rv32ZaamoInstruction<Reg>where
Reg: RefUnwindSafe,
impl<Reg> Send for Rv32ZaamoInstruction<Reg>where
Reg: Send,
impl<Reg> Sync for Rv32ZaamoInstruction<Reg>where
Reg: Sync,
impl<Reg> Unpin for Rv32ZaamoInstruction<Reg>where
Reg: Unpin,
impl<Reg> UnsafeUnpin for Rv32ZaamoInstruction<Reg>where
Reg: UnsafeUnpin,
impl<Reg> UnwindSafe for Rv32ZaamoInstruction<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