-; RUN: llc < %s -march=x86 -mattr=+sse2 | not grep sfence
-; RUN: llc < %s -march=x86 -mattr=+sse2 | not grep lfence
-; RUN: llc < %s -march=x86 -mattr=+sse2 | not grep mfence
-; RUN: llc < %s -march=x86 -mattr=+sse2 | grep MEMBARRIER
-
-
-declare void @llvm.memory.barrier( i1 , i1 , i1 , i1 , i1)
+; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=+sse2 | FileCheck %s
define void @test() {
- call void @llvm.memory.barrier( i1 true, i1 true, i1 false, i1 false, i1 false)
- call void @llvm.memory.barrier( i1 true, i1 false, i1 true, i1 false, i1 false)
- call void @llvm.memory.barrier( i1 true, i1 false, i1 false, i1 true, i1 false)
+ fence acquire
+ ; CHECK: #MEMBARRIER
+
+ fence release
+ ; CHECK: #MEMBARRIER
- call void @llvm.memory.barrier( i1 true, i1 true, i1 true, i1 false, i1 false)
- call void @llvm.memory.barrier( i1 true, i1 true, i1 false, i1 true, i1 false)
- call void @llvm.memory.barrier( i1 true, i1 false, i1 true, i1 true, i1 false)
+ fence acq_rel
+ ; CHECK: #MEMBARRIER
- call void @llvm.memory.barrier( i1 true, i1 true, i1 true, i1 true , i1 false)
- call void @llvm.memory.barrier( i1 false, i1 false, i1 false, i1 false , i1 false)
- ret void
+ ret void
}