rust/tests/assembly/asm/aarch64-outline-atomics.rs
2023-01-11 09:32:08 +00:00

17 lines
435 B
Rust

// assembly-output: emit-asm
// compile-flags: -O
// compile-flags: --target aarch64-unknown-linux-gnu
// needs-llvm-components: aarch64
// only-aarch64
// only-linux
#![crate_type = "rlib"]
use std::sync::atomic::{AtomicI32, Ordering::*};
pub fn compare_exchange(a: &AtomicI32) {
// On AArch64 LLVM should outline atomic operations.
// CHECK: __aarch64_cas4_relax
let _ = a.compare_exchange(0, 10, Relaxed, Relaxed);
}