pub struct CmpXchg {
pub address: Operand,
pub expected: Operand,
pub replacement: Operand,
pub dest: Name,
pub volatile: bool,
pub atomicity: Atomicity,
pub failure_memory_ordering: MemoryOrdering,
pub weak: bool,
pub debugloc: Option<DebugLoc>,
}Expand description
Atomic compare and exchange. See LLVM 14 docs on the ‘cmpxchg’ instruction
Fields§
§address: Operand§expected: Operand§replacement: Operand§dest: Name§volatile: bool§atomicity: AtomicityThis includes the “success” MemoryOrdering
failure_memory_ordering: MemoryOrderingThis is the “failure” MemoryOrdering
weak: bool§debugloc: Option<DebugLoc>Trait Implementations§
Source§impl From<CmpXchg> for Instruction
impl From<CmpXchg> for Instruction
Source§fn from(inst: CmpXchg) -> Instruction
fn from(inst: CmpXchg) -> Instruction
Converts to this type from the input type.
Source§impl HasDebugLoc for CmpXchg
impl HasDebugLoc for CmpXchg
Source§impl TryFrom<Instruction> for CmpXchg
impl TryFrom<Instruction> for CmpXchg
impl StructuralPartialEq for CmpXchg
Auto Trait Implementations§
impl Freeze for CmpXchg
impl RefUnwindSafe for CmpXchg
impl Send for CmpXchg
impl Sync for CmpXchg
impl Unpin for CmpXchg
impl UnwindSafe for CmpXchg
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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