Evan Cheng | e1f0859 | 2010-08-11 17:25:51 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=thumbv6-apple-darwin | FileCheck %s -check-prefix=V6 |
Bob Wilson | 54f9256 | 2010-11-09 22:50:44 +0000 | [diff] [blame] | 2 | ; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mattr=-db | FileCheck %s -check-prefix=V6 |
Evan Cheng | 39dfb0f | 2011-07-07 03:55:05 +0000 | [diff] [blame] | 3 | ; RUN: llc < %s -march=thumb -mcpu=cortex-m0 | FileCheck %s -check-prefix=V6M |
Evan Cheng | 11db068 | 2010-08-11 06:22:01 +0000 | [diff] [blame] | 4 | |
Bob Wilson | f74a429 | 2010-10-30 00:54:37 +0000 | [diff] [blame] | 5 | declare void @llvm.memory.barrier(i1 , i1 , i1 , i1 , i1) |
Evan Cheng | 11db068 | 2010-08-11 06:22:01 +0000 | [diff] [blame] | 6 | |
| 7 | define void @t1() { |
Evan Cheng | c7569ed | 2010-08-11 06:30:38 +0000 | [diff] [blame] | 8 | ; V6: t1: |
Evan Cheng | e1f0859 | 2010-08-11 17:25:51 +0000 | [diff] [blame] | 9 | ; V6: blx {{_*}}sync_synchronize |
Evan Cheng | c7569ed | 2010-08-11 06:30:38 +0000 | [diff] [blame] | 10 | |
Evan Cheng | d6b4632 | 2010-08-11 06:51:54 +0000 | [diff] [blame] | 11 | ; V6M: t1: |
Bob Wilson | f74a429 | 2010-10-30 00:54:37 +0000 | [diff] [blame] | 12 | ; V6M: dmb st |
| 13 | call void @llvm.memory.barrier(i1 false, i1 false, i1 false, i1 true, i1 true) |
Evan Cheng | 11db068 | 2010-08-11 06:22:01 +0000 | [diff] [blame] | 14 | ret void |
| 15 | } |
| 16 | |
| 17 | define void @t2() { |
Evan Cheng | c7569ed | 2010-08-11 06:30:38 +0000 | [diff] [blame] | 18 | ; V6: t2: |
Evan Cheng | e1f0859 | 2010-08-11 17:25:51 +0000 | [diff] [blame] | 19 | ; V6: blx {{_*}}sync_synchronize |
Evan Cheng | c7569ed | 2010-08-11 06:30:38 +0000 | [diff] [blame] | 20 | |
Evan Cheng | d6b4632 | 2010-08-11 06:51:54 +0000 | [diff] [blame] | 21 | ; V6M: t2: |
Bob Wilson | f74a429 | 2010-10-30 00:54:37 +0000 | [diff] [blame] | 22 | ; V6M: dmb ish |
| 23 | call void @llvm.memory.barrier(i1 true, i1 false, i1 false, i1 true, i1 false) |
Evan Cheng | 11db068 | 2010-08-11 06:22:01 +0000 | [diff] [blame] | 24 | ret void |
| 25 | } |