blob: cab658e79a185a5456a02747cb8be8d97519d383 [file] [log] [blame]
Evan Chenge1f08592010-08-11 17:25:51 +00001; RUN: llc < %s -mtriple=thumbv6-apple-darwin | FileCheck %s -check-prefix=V6
2; RUN: llc < %s -march=thumb -mattr=+v6m | FileCheck %s -check-prefix=V6M
Evan Cheng11db0682010-08-11 06:22:01 +00003
Bob Wilsonf74a4292010-10-30 00:54:37 +00004declare void @llvm.memory.barrier(i1 , i1 , i1 , i1 , i1)
Evan Cheng11db0682010-08-11 06:22:01 +00005
6define void @t1() {
Evan Chengc7569ed2010-08-11 06:30:38 +00007; V6: t1:
Evan Chenge1f08592010-08-11 17:25:51 +00008; V6: blx {{_*}}sync_synchronize
Evan Chengc7569ed2010-08-11 06:30:38 +00009
Evan Chengd6b46322010-08-11 06:51:54 +000010; V6M: t1:
Bob Wilsonf74a4292010-10-30 00:54:37 +000011; V6M: dmb st
12 call void @llvm.memory.barrier(i1 false, i1 false, i1 false, i1 true, i1 true)
Evan Cheng11db0682010-08-11 06:22:01 +000013 ret void
14}
15
16define void @t2() {
Evan Chengc7569ed2010-08-11 06:30:38 +000017; V6: t2:
Evan Chenge1f08592010-08-11 17:25:51 +000018; V6: blx {{_*}}sync_synchronize
Evan Chengc7569ed2010-08-11 06:30:38 +000019
Evan Chengd6b46322010-08-11 06:51:54 +000020; V6M: t2:
Bob Wilsonf74a4292010-10-30 00:54:37 +000021; V6M: dmb ish
22 call void @llvm.memory.barrier(i1 true, i1 false, i1 false, i1 true, i1 false)
Evan Cheng11db0682010-08-11 06:22:01 +000023 ret void
24}