blob: d39b50f0a9daf7968af953ecc61956483adc8acb [file] [log] [blame]
Evan Chenge1f08592010-08-11 17:25:51 +00001; RUN: llc < %s -mtriple=thumbv6-apple-darwin | FileCheck %s -check-prefix=V6
Bob Wilson54f92562010-11-09 22:50:44 +00002; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mattr=-db | FileCheck %s -check-prefix=V6
Evan Cheng39dfb0f2011-07-07 03:55:05 +00003; RUN: llc < %s -march=thumb -mcpu=cortex-m0 | FileCheck %s -check-prefix=V6M
Evan Cheng11db0682010-08-11 06:22:01 +00004
Bob Wilsonf74a4292010-10-30 00:54:37 +00005declare void @llvm.memory.barrier(i1 , i1 , i1 , i1 , i1)
Evan Cheng11db0682010-08-11 06:22:01 +00006
7define void @t1() {
Evan Chengc7569ed2010-08-11 06:30:38 +00008; V6: t1:
Evan Chenge1f08592010-08-11 17:25:51 +00009; V6: blx {{_*}}sync_synchronize
Evan Chengc7569ed2010-08-11 06:30:38 +000010
Evan Chengd6b46322010-08-11 06:51:54 +000011; V6M: t1:
Bob Wilsonf74a4292010-10-30 00:54:37 +000012; V6M: dmb st
13 call void @llvm.memory.barrier(i1 false, i1 false, i1 false, i1 true, i1 true)
Evan Cheng11db0682010-08-11 06:22:01 +000014 ret void
15}
16
17define void @t2() {
Evan Chengc7569ed2010-08-11 06:30:38 +000018; V6: t2:
Evan Chenge1f08592010-08-11 17:25:51 +000019; V6: blx {{_*}}sync_synchronize
Evan Chengc7569ed2010-08-11 06:30:38 +000020
Evan Chengd6b46322010-08-11 06:51:54 +000021; V6M: t2:
Bob Wilsonf74a4292010-10-30 00:54:37 +000022; V6M: dmb ish
23 call void @llvm.memory.barrier(i1 true, i1 false, i1 false, i1 true, i1 false)
Evan Cheng11db0682010-08-11 06:22:01 +000024 ret void
25}