blob: 419c3baa3da30a14443d85098c379032f40e2037 [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 Chengb0276812010-08-11 17:25:51 +00003; RUN: llc < %s -march=thumb -mattr=+v6m | 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}