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