blob: 46586f0f31c019032a6f75f05f4d0af25069d5c7 [file] [log] [blame] [edit]
//@ 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;
use std::sync::atomic::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);
}