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 |
| 2 | ; RUN: llc < %s -march=thumb -mattr=+v6m | FileCheck %s -check-prefix=V6M |
Evan Cheng | 11db068 | 2010-08-11 06:22:01 +0000 | [diff] [blame] | 3 | |
Bob Wilson | f74a429 | 2010-10-30 00:54:37 +0000 | [diff] [blame^] | 4 | declare void @llvm.memory.barrier(i1 , i1 , i1 , i1 , i1) |
Evan Cheng | 11db068 | 2010-08-11 06:22:01 +0000 | [diff] [blame] | 5 | |
| 6 | define void @t1() { |
Evan Cheng | c7569ed | 2010-08-11 06:30:38 +0000 | [diff] [blame] | 7 | ; V6: t1: |
Evan Cheng | e1f0859 | 2010-08-11 17:25:51 +0000 | [diff] [blame] | 8 | ; V6: blx {{_*}}sync_synchronize |
Evan Cheng | c7569ed | 2010-08-11 06:30:38 +0000 | [diff] [blame] | 9 | |
Evan Cheng | d6b4632 | 2010-08-11 06:51:54 +0000 | [diff] [blame] | 10 | ; V6M: t1: |
Bob Wilson | f74a429 | 2010-10-30 00:54:37 +0000 | [diff] [blame^] | 11 | ; V6M: dmb st |
| 12 | 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] | 13 | ret void |
| 14 | } |
| 15 | |
| 16 | define void @t2() { |
Evan Cheng | c7569ed | 2010-08-11 06:30:38 +0000 | [diff] [blame] | 17 | ; V6: t2: |
Evan Cheng | e1f0859 | 2010-08-11 17:25:51 +0000 | [diff] [blame] | 18 | ; V6: blx {{_*}}sync_synchronize |
Evan Cheng | c7569ed | 2010-08-11 06:30:38 +0000 | [diff] [blame] | 19 | |
Evan Cheng | d6b4632 | 2010-08-11 06:51:54 +0000 | [diff] [blame] | 20 | ; V6M: t2: |
Bob Wilson | f74a429 | 2010-10-30 00:54:37 +0000 | [diff] [blame^] | 21 | ; V6M: dmb ish |
| 22 | 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] | 23 | ret void |
| 24 | } |