• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llvm-dis -o - %s.bc | FileCheck %s
2
3; Backwards compatibility test: make sure we can process bitcode without
4; synchronization scope names encoded in it.
5
6; CHECK: load atomic i32, i32* %x unordered, align 4
7; CHECK: load atomic volatile i32, i32* %x syncscope("singlethread") acquire, align 4
8; CHECK: store atomic i32 3, i32* %x release, align 4
9; CHECK: store atomic volatile i32 3, i32* %x syncscope("singlethread") monotonic, align 4
10; CHECK: cmpxchg i32* %x, i32 1, i32 0 syncscope("singlethread") monotonic monotonic
11; CHECK: cmpxchg volatile i32* %x, i32 0, i32 1 acq_rel acquire
12; CHECK: cmpxchg i32* %x, i32 42, i32 0 acq_rel monotonic
13; CHECK: cmpxchg weak i32* %x, i32 13, i32 0 seq_cst monotonic
14; CHECK: atomicrmw add i32* %x, i32 10 seq_cst
15; CHECK: atomicrmw volatile xchg  i32* %x, i32 10 monotonic
16; CHECK: fence syncscope("singlethread") release
17; CHECK: fence seq_cst
18