#![crate_type = "lib"] | |
#![feature(core_intrinsics)] | |
use std::intrinsics::*; | |
pub unsafe fn test_volatile_order() { | |
let mut a: Box<u8> = Box::new(0); | |
// CHECK: load volatile | |
let x = volatile_load(&*a); | |
// CHECK: load volatile | |
let x = volatile_load(&*a); | |
// CHECK: store volatile | |
volatile_store(&mut *a, 12); | |
// CHECK: store volatile | |
unaligned_volatile_store(&mut *a, 12); | |
// CHECK: llvm.memset.p0 | |
volatile_set_memory(&mut *a, 12, 1) | |
} |