Matt Arsenault | 1ab0d9c | 2016-07-18 18:42:17 +0000 | [diff] [blame] | 1 | declare void @llvm.r600.group.barrier() #0 |
Tom Stellard | 3a81b5d | 2013-07-08 17:26:39 +0000 | [diff] [blame] | 2 | |
Jan Vesely | 92357a2 | 2018-04-05 14:47:57 +0000 | [diff] [blame] | 3 | target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5" |
Jan Vesely | 66b32ad | 2017-10-20 21:00:31 +0000 | [diff] [blame] | 4 | |
Jan Vesely | e337b30 | 2017-09-04 15:52:05 +0000 | [diff] [blame] | 5 | define void @barrier(i32 %flags) #1 { |
| 6 | entry: |
| 7 | ; We should call mem_fence here, but that is not implemented for r600 yet |
| 8 | tail call void @llvm.r600.group.barrier() |
Tom Stellard | 3a81b5d | 2013-07-08 17:26:39 +0000 | [diff] [blame] | 9 | ret void |
| 10 | } |
Matt Arsenault | a48e15c | 2016-02-13 01:01:59 +0000 | [diff] [blame] | 11 | |
| 12 | attributes #0 = { nounwind convergent } |
Jan Vesely | e337b30 | 2017-09-04 15:52:05 +0000 | [diff] [blame] | 13 | attributes #1 = { nounwind convergent alwaysinline } |