Experimental tracepoint support by Darksonn · Pull Request #1084 · Rust-for-Linux/linux (original) (raw)
unsafe fn i32_xadd(v: *mut i32, mut i: i32) -> i32 {
// SAFETY: Per function safety requirement, the address of v
is valid for "xadd".
unsafe {
asm!(
lock_instr!("xaddl {i:e}, ({v})"),
i = inout(reg) i,
v = in(reg) v,
options(att_syntax, preserves_flags),
);
}
i
}