blob: d39b50f0a9daf7968af953ecc61956483adc8acb [file] [log] [blame]
Evan Chengb0276812010-08-11 17:25:51 +00001; RUN: llc < %s -mtriple=thumbv6-apple-darwin | FileCheck %s -check-prefix=V6
Bob Wilson193722e2010-11-09 22:50:44 +00002; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mattr=-db | FileCheck %s -check-prefix=V6
Evan Cheng8b2bda02011-07-07 03:55:05 +00003; RUN: llc < %s -march=thumb -mcpu=cortex-m0 | FileCheck %s -check-prefix=V6M
Evan Cheng6e809de2010-08-11 06:22:01 +00004
Bob Wilson7ed59712010-10-30 00:54:37 +00005declare void @llvm.memory.barrier(i1 , i1 , i1 , i1 , i1)
Evan Cheng6e809de2010-08-11 06:22:01 +00006
7define void @t1() {
Evan Cheng49e02fc2010-08-11 06:30:38 +00008; V6: t1:
Evan Chengb0276812010-08-11 17:25:51 +00009; V6: blx {{_*}}sync_synchronize
Evan Cheng49e02fc2010-08-11 06:30:38 +000010
Evan Cheng40921a42010-08-11 06:51:54 +000011; V6M: t1:
Bob Wilson7ed59712010-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 Cheng6e809de2010-08-11 06:22:01 +000014 ret void
15}
16
17define void @t2() {
Evan Cheng49e02fc2010-08-11 06:30:38 +000018; V6: t2:
Evan Chengb0276812010-08-11 17:25:51 +000019; V6: blx {{_*}}sync_synchronize
Evan Cheng49e02fc2010-08-11 06:30:38 +000020
Evan Cheng40921a42010-08-11 06:51:54 +000021; V6M: t2:
Bob Wilson7ed59712010-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 Cheng6e809de2010-08-11 06:22:01 +000024 ret void
25}