annotate test/CodeGen/AMDGPU/memory-legalizer-atomic-fence.ll @ 128:c347d3398279 default tip

fix
author mir3636
date Wed, 06 Dec 2017 14:37:17 +0900
parents 803732b1fca8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
121
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
1 ; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx600 -verify-machineinstrs < %s | FileCheck -check-prefix=FUNC -check-prefix=GCN -check-prefix=GFX6 %s
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
2 ; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck -check-prefix=FUNC -check-prefix=GCN -check-prefix=GFX8 %s
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
3 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck -check-prefix=FUNC -check-prefix=GCN -check-prefix=GFX8 %s
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
4
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
5 ; FUNC-LABEL: {{^}}system_acquire
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
6 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
7 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
8 ; GFX6: s_waitcnt vmcnt(0){{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
9 ; GFX6-NEXT: buffer_wbinvl1{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
10 ; GFX8: s_waitcnt vmcnt(0){{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
11 ; GFX8-NEXT: buffer_wbinvl1_vol{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
12 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
13 define amdgpu_kernel void @system_acquire() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
14 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
15 fence acquire
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
16 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
17 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
18
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
19 ; FUNC-LABEL: {{^}}system_release
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
20 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
21 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
22 ; GCN: s_waitcnt vmcnt(0){{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
23 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
24 define amdgpu_kernel void @system_release() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
25 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
26 fence release
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
27 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
28 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
29
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
30 ; FUNC-LABEL: {{^}}system_acq_rel
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
31 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
32 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
33 ; GCN: s_waitcnt vmcnt(0){{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
34 ; GFX6: buffer_wbinvl1{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
35 ; GFX8: buffer_wbinvl1_vol{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
36 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
37 define amdgpu_kernel void @system_acq_rel() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
38 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
39 fence acq_rel
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
40 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
41 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
42
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
43 ; FUNC-LABEL: {{^}}system_seq_cst
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
44 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
45 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
46 ; GCN: s_waitcnt vmcnt(0){{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
47 ; GFX6: buffer_wbinvl1{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
48 ; GFX8: buffer_wbinvl1_vol{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
49 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
50 define amdgpu_kernel void @system_seq_cst() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
51 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
52 fence seq_cst
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
53 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
54 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
55
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
56 ; FUNC-LABEL: {{^}}singlethread_acquire
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
57 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
58 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
59 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
60 define amdgpu_kernel void @singlethread_acquire() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
61 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
62 fence syncscope("singlethread") acquire
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
63 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
64 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
65
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
66 ; FUNC-LABEL: {{^}}singlethread_release
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
67 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
68 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
69 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
70 define amdgpu_kernel void @singlethread_release() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
71 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
72 fence syncscope("singlethread") release
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
73 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
74 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
75
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
76 ; FUNC-LABEL: {{^}}singlethread_acq_rel
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
77 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
78 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
79 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
80 define amdgpu_kernel void @singlethread_acq_rel() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
81 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
82 fence syncscope("singlethread") acq_rel
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
83 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
84 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
85
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
86 ; FUNC-LABEL: {{^}}singlethread_seq_cst
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
87 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
88 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
89 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
90 define amdgpu_kernel void @singlethread_seq_cst() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
91 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
92 fence syncscope("singlethread") seq_cst
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
93 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
94 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
95
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
96 ; FUNC-LABEL: {{^}}agent_acquire
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
97 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
98 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
99 ; GFX6: s_waitcnt vmcnt(0){{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
100 ; GFX6-NEXT: buffer_wbinvl1{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
101 ; GFX8: s_waitcnt vmcnt(0){{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
102 ; GFX8-NEXT: buffer_wbinvl1_vol{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
103 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
104 define amdgpu_kernel void @agent_acquire() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
105 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
106 fence syncscope("agent") acquire
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
107 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
108 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
109
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
110 ; FUNC-LABEL: {{^}}agent_release
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
111 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
112 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
113 ; GCN: s_waitcnt vmcnt(0){{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
114 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
115 define amdgpu_kernel void @agent_release() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
116 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
117 fence syncscope("agent") release
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
118 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
119 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
120
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
121 ; FUNC-LABEL: {{^}}agent_acq_rel
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
122 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
123 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
124 ; GCN: s_waitcnt vmcnt(0){{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
125 ; GFX6: buffer_wbinvl1{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
126 ; GFX8: buffer_wbinvl1_vol{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
127 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
128 define amdgpu_kernel void @agent_acq_rel() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
129 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
130 fence syncscope("agent") acq_rel
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
131 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
132 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
133
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
134 ; FUNC-LABEL: {{^}}agent_seq_cst
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
135 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
136 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
137 ; GCN: s_waitcnt vmcnt(0){{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
138 ; GFX6: buffer_wbinvl1{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
139 ; GFX8: buffer_wbinvl1_vol{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
140 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
141 define amdgpu_kernel void @agent_seq_cst() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
142 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
143 fence syncscope("agent") seq_cst
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
144 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
145 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
146
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
147 ; FUNC-LABEL: {{^}}workgroup_acquire
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
148 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
149 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
150 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
151 define amdgpu_kernel void @workgroup_acquire() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
152 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
153 fence syncscope("workgroup") acquire
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
154 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
155 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
156
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
157 ; FUNC-LABEL: {{^}}workgroup_release
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
158 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
159 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
160 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
161 define amdgpu_kernel void @workgroup_release() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
162 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
163 fence syncscope("workgroup") release
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
164 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
165 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
166
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
167 ; FUNC-LABEL: {{^}}workgroup_acq_rel
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
168 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
169 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
170 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
171 define amdgpu_kernel void @workgroup_acq_rel() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
172 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
173 fence syncscope("workgroup") acq_rel
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
174 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
175 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
176
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
177 ; FUNC-LABEL: {{^}}workgroup_seq_cst
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
178 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
179 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
180 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
181 define amdgpu_kernel void @workgroup_seq_cst() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
182 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
183 fence syncscope("workgroup") seq_cst
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
184 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
185 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
186
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
187 ; FUNC-LABEL: {{^}}wavefront_acquire
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
188 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
189 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
190 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
191 define amdgpu_kernel void @wavefront_acquire() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
192 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
193 fence syncscope("wavefront") acquire
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
194 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
195 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
196
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
197 ; FUNC-LABEL: {{^}}wavefront_release
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
198 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
199 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
200 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
201 define amdgpu_kernel void @wavefront_release() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
202 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
203 fence syncscope("wavefront") release
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
204 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
205 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
206
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
207 ; FUNC-LABEL: {{^}}wavefront_acq_rel
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
208 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
209 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
210 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
211 define amdgpu_kernel void @wavefront_acq_rel() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
212 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
213 fence syncscope("wavefront") acq_rel
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
214 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
215 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
216
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
217 ; FUNC-LABEL: {{^}}wavefront_seq_cst
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
218 ; GCN: BB#0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
219 ; GCN-NOT: ATOMIC_FENCE
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
220 ; GCN: s_endpgm
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
221 define amdgpu_kernel void @wavefront_seq_cst() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
222 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
223 fence syncscope("wavefront") seq_cst
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
224 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
225 }