pub enum AmoOp {
Swap,
Add,
Xor,
And,
Or,
Min,
Max,
Minu,
Maxu,
}Expand description
Selects an atomic operation while one instruction form supplies the common operands.
The A extension gives all AMOs the same address, source, destination, and width fields. A small enum avoids duplicate NNIL variants for that common structure.
Variants§
Swap
Stores the source value without combining it with the loaded value.
Add
Stores the wrapping sum of the loaded and source values.
Xor
Stores the bitwise exclusive OR of both values.
And
Stores the bitwise AND of both values.
Or
Stores the bitwise OR of both values.
Min
Stores the smaller signed value.
Max
Stores the larger signed value.
Minu
Stores the smaller unsigned value.
Maxu
Stores the larger unsigned value.
Trait Implementations§
impl Copy for AmoOp
impl Eq for AmoOp
impl StructuralPartialEq for AmoOp
Auto Trait Implementations§
impl Freeze for AmoOp
impl RefUnwindSafe for AmoOp
impl Send for AmoOp
impl Sync for AmoOp
impl Unpin for AmoOp
impl UnsafeUnpin for AmoOp
impl UnwindSafe for AmoOp
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