summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/membarrier.ll
blob: 42f8ef5ff0475bd6dfca8e42a2409d1c3cd9e493 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
; RUN: llc < %s -march=x86-64 -mattr=-sse -O0
; PR9675

define i32 @t() {
entry:
  %i = alloca i32, align 4
  store i32 1, i32* %i, align 4
  call void @llvm.memory.barrier(i1 true, i1 true, i1 true, i1 true, i1 true)
  %0 = call i32 @llvm.atomic.load.sub.i32.p0i32(i32* %i, i32 1)
  call void @llvm.memory.barrier(i1 true, i1 true, i1 true, i1 true, i1 true)
  ret i32 0
}

declare i32 @llvm.atomic.load.sub.i32.p0i32(i32* nocapture, i32) nounwind
declare void @llvm.memory.barrier(i1, i1, i1, i1, i1) nounwind