2 #![feature(core_intrinsics)]
4 use std::intrinsics::*;
6 pub unsafe fn test_volatile_order() {
7 let mut a: Box<u8> = Box::new(0);
8 // CHECK: load volatile
9 let x = volatile_load(&*a);
10 // CHECK: load volatile
11 let x = volatile_load(&*a);
12 // CHECK: store volatile
13 volatile_store(&mut *a, 12);
14 // CHECK: store volatile
15 unaligned_volatile_store(&mut *a, 12);
16 // CHECK: llvm.memset.p0
17 volatile_set_memory(&mut *a, 12, 1)