1
- ; RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx600 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN %s
2
- ; RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx700 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN %s
3
- ; RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx800 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN %s
4
- ; RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN %s
1
+ ; RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx600 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN,GCN9 %s
2
+ ; RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx700 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN,GCN9 %s
3
+ ; RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN,GCN9 %s
4
+ ; RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN,GCN9 %s
5
+ ; RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx1010 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN,GCN10 %s
5
6
6
7
; FUNC-LABEL: {{^}}system_acquire:
7
8
; GCN: %bb.0
8
9
; GCN-NOT: ATOMIC_FENCE
9
10
; GCN: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
10
- ; GCN-NEXT: buffer_wbinvl1{{$}}
11
+ ; GCN10: s_waitcnt_vscnt null, 0x0
12
+ ; GCN-NOT: buffer_wbinvl1{{$}}
11
13
; GCN: s_endpgm
12
14
define amdgpu_kernel void @system_acquire () {
13
15
entry:
19
21
; GCN: %bb.0
20
22
; GCN-NOT: ATOMIC_FENCE
21
23
; GCN: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
24
+ ; GCN10: s_waitcnt_vscnt null, 0x0
22
25
; GCN: s_endpgm
23
26
define amdgpu_kernel void @system_release () {
24
27
entry:
30
33
; GCN: %bb.0
31
34
; GCN-NOT: ATOMIC_FENCE
32
35
; GCN: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
33
- ; GCN: buffer_wbinvl1{{$}}
36
+ ; GCN10: s_waitcnt_vscnt null, 0x0
37
+ ; GCN-NOT: buffer_wbinvl1{{$}}
34
38
; GCN: s_endpgm
35
39
define amdgpu_kernel void @system_acq_rel () {
36
40
entry:
42
46
; GCN: %bb.0
43
47
; GCN-NOT: ATOMIC_FENCE
44
48
; GCN: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
45
- ; GCN: buffer_wbinvl1{{$}}
49
+ ; GCN10: s_waitcnt_vscnt null, 0x0
50
+ ; GCN-NOT: buffer_wbinvl1{{$}}
46
51
; GCN: s_endpgm
47
52
define amdgpu_kernel void @system_seq_cst () {
48
53
entry:
54
59
; GCN: %bb.0
55
60
; GCN-NOT: ATOMIC_FENCE
56
61
; GCN: s_waitcnt vmcnt(0){{$}}
57
- ; GCN-NEXT: buffer_wbinvl1{{$}}
62
+ ; GCN10: s_waitcnt_vscnt null, 0x0
63
+ ; GCN-NOT: buffer_wbinvl1{{$}}
58
64
; GCN: s_endpgm
59
65
define amdgpu_kernel void @system_one_as_acquire () {
60
66
entry:
66
72
; GCN: %bb.0
67
73
; GCN-NOT: ATOMIC_FENCE
68
74
; GCN: s_waitcnt vmcnt(0){{$}}
75
+ ; GCN10: s_waitcnt_vscnt null, 0x0
69
76
; GCN: s_endpgm
70
77
define amdgpu_kernel void @system_one_as_release () {
71
78
entry:
77
84
; GCN: %bb.0
78
85
; GCN-NOT: ATOMIC_FENCE
79
86
; GCN: s_waitcnt vmcnt(0){{$}}
80
- ; GCN: buffer_wbinvl1{{$}}
87
+ ; GCN10: s_waitcnt_vscnt null, 0x0
88
+ ; GCN-NOT: buffer_wbinvl1{{$}}
81
89
; GCN: s_endpgm
82
90
define amdgpu_kernel void @system_one_as_acq_rel () {
83
91
entry:
89
97
; GCN: %bb.0
90
98
; GCN-NOT: ATOMIC_FENCE
91
99
; GCN: s_waitcnt vmcnt(0){{$}}
92
- ; GCN: buffer_wbinvl1{{$}}
100
+ ; GCN10: s_waitcnt_vscnt null, 0x0
101
+ ; GCN-NOT: buffer_wbinvl1{{$}}
93
102
; GCN: s_endpgm
94
103
define amdgpu_kernel void @system_one_as_seq_cst () {
95
104
entry:
@@ -181,7 +190,8 @@ entry:
181
190
; GCN: %bb.0
182
191
; GCN-NOT: ATOMIC_FENCE
183
192
; GCN: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
184
- ; GCN-NEXT: buffer_wbinvl1{{$}}
193
+ ; GCN10: s_waitcnt_vscnt null, 0x0
194
+ ; GCN-NOT: buffer_wbinvl1{{$}}
185
195
; GCN: s_endpgm
186
196
define amdgpu_kernel void @agent_acquire () {
187
197
entry:
@@ -193,6 +203,7 @@ entry:
193
203
; GCN: %bb.0
194
204
; GCN-NOT: ATOMIC_FENCE
195
205
; GCN: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
206
+ ; GCN10: s_waitcnt_vscnt null, 0x0
196
207
; GCN: s_endpgm
197
208
define amdgpu_kernel void @agent_release () {
198
209
entry:
@@ -204,7 +215,8 @@ entry:
204
215
; GCN: %bb.0
205
216
; GCN-NOT: ATOMIC_FENCE
206
217
; GCN: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
207
- ; GCN: buffer_wbinvl1{{$}}
218
+ ; GCN10: s_waitcnt_vscnt null, 0x0
219
+ ; GCN-NOT: buffer_wbinvl1{{$}}
208
220
; GCN: s_endpgm
209
221
define amdgpu_kernel void @agent_acq_rel () {
210
222
entry:
@@ -216,7 +228,8 @@ entry:
216
228
; GCN: %bb.0
217
229
; GCN-NOT: ATOMIC_FENCE
218
230
; GCN: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
219
- ; GCN: buffer_wbinvl1{{$}}
231
+ ; GCN10: s_waitcnt_vscnt null, 0x0
232
+ ; GCN-NOT: buffer_wbinvl1{{$}}
220
233
; GCN: s_endpgm
221
234
define amdgpu_kernel void @agent_seq_cst () {
222
235
entry:
@@ -228,7 +241,8 @@ entry:
228
241
; GCN: %bb.0
229
242
; GCN-NOT: ATOMIC_FENCE
230
243
; GCN: s_waitcnt vmcnt(0){{$}}
231
- ; GCN-NEXT: buffer_wbinvl1{{$}}
244
+ ; GCN10: s_waitcnt_vscnt null, 0x0
245
+ ; GCN-NOT: buffer_wbinvl1{{$}}
232
246
; GCN: s_endpgm
233
247
define amdgpu_kernel void @agent_one_as_acquire () {
234
248
entry:
@@ -240,6 +254,7 @@ entry:
240
254
; GCN: %bb.0
241
255
; GCN-NOT: ATOMIC_FENCE
242
256
; GCN: s_waitcnt vmcnt(0){{$}}
257
+ ; GCN10: s_waitcnt_vscnt null, 0x0
243
258
; GCN: s_endpgm
244
259
define amdgpu_kernel void @agent_one_as_release () {
245
260
entry:
@@ -251,7 +266,8 @@ entry:
251
266
; GCN: %bb.0
252
267
; GCN-NOT: ATOMIC_FENCE
253
268
; GCN: s_waitcnt vmcnt(0){{$}}
254
- ; GCN: buffer_wbinvl1{{$}}
269
+ ; GCN10: s_waitcnt_vscnt null, 0x0
270
+ ; GCN-NOT: buffer_wbinvl1{{$}}
255
271
; GCN: s_endpgm
256
272
define amdgpu_kernel void @agent_one_as_acq_rel () {
257
273
entry:
@@ -263,7 +279,8 @@ entry:
263
279
; GCN: %bb.0
264
280
; GCN-NOT: ATOMIC_FENCE
265
281
; GCN: s_waitcnt vmcnt(0){{$}}
266
- ; GCN: buffer_wbinvl1{{$}}
282
+ ; GCN10: s_waitcnt_vscnt null, 0x0
283
+ ; GCN-NOT: buffer_wbinvl1{{$}}
267
284
; GCN: s_endpgm
268
285
define amdgpu_kernel void @agent_one_as_seq_cst () {
269
286
entry:
@@ -273,7 +290,9 @@ entry:
273
290
274
291
; FUNC-LABEL: {{^}}workgroup_acquire:
275
292
; GCN: %bb.0
276
- ; GCN-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
293
+ ; GCN9-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
294
+ ; GCN10: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
295
+ ; GCN10: s_waitcnt_vscnt null, 0x0
277
296
; GCN-NOT: ATOMIC_FENCE
278
297
; GCN: s_endpgm
279
298
define amdgpu_kernel void @workgroup_acquire () {
@@ -284,7 +303,9 @@ entry:
284
303
285
304
; FUNC-LABEL: {{^}}workgroup_release:
286
305
; GCN: %bb.0
287
- ; GCN-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
306
+ ; GCN9-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
307
+ ; GCN10: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
308
+ ; GCN10: s_waitcnt_vscnt null, 0x0
288
309
; GCN-NOT: ATOMIC_FENCE
289
310
; GCN: s_endpgm
290
311
define amdgpu_kernel void @workgroup_release () {
@@ -295,7 +316,9 @@ entry:
295
316
296
317
; FUNC-LABEL: {{^}}workgroup_acq_rel:
297
318
; GCN: %bb.0
298
- ; GCN-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
319
+ ; GCN9-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
320
+ ; GCN10: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
321
+ ; GCN10: s_waitcnt_vscnt null, 0x0
299
322
; GCN-NOT: ATOMIC_FENCE
300
323
; GCN: s_endpgm
301
324
define amdgpu_kernel void @workgroup_acq_rel () {
@@ -307,6 +330,9 @@ entry:
307
330
; FUNC-LABEL: {{^}}workgroup_seq_cst:
308
331
; GCN: %bb.0
309
332
; GCN-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
333
+ ; GCN9-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
334
+ ; GCN10: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
335
+ ; GCN10: s_waitcnt_vscnt null, 0x0
310
336
; GCN-NOT: ATOMIC_FENCE
311
337
; GCN: s_endpgm
312
338
define amdgpu_kernel void @workgroup_seq_cst () {
@@ -317,7 +343,9 @@ entry:
317
343
318
344
; FUNC-LABEL: {{^}}workgroup_one_as_acquire:
319
345
; GCN: %bb.0
320
- ; GCN-NOT: s_waitcnt vmcnt(0){{$}}
346
+ ; GCN9-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
347
+ ; GCN10: s_waitcnt vmcnt(0)
348
+ ; GCN10: s_waitcnt_vscnt null, 0x0
321
349
; GCN-NOT: ATOMIC_FENCE
322
350
; GCN: s_endpgm
323
351
define amdgpu_kernel void @workgroup_one_as_acquire () {
@@ -328,7 +356,9 @@ entry:
328
356
329
357
; FUNC-LABEL: {{^}}workgroup_one_as_release:
330
358
; GCN: %bb.0
331
- ; GCN-NOT: s_waitcnt vmcnt(0){{$}}
359
+ ; GCN9-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
360
+ ; GCN10: s_waitcnt vmcnt(0)
361
+ ; GCN10: s_waitcnt_vscnt null, 0x0
332
362
; GCN-NOT: ATOMIC_FENCE
333
363
; GCN: s_endpgm
334
364
define amdgpu_kernel void @workgroup_one_as_release () {
@@ -339,7 +369,9 @@ entry:
339
369
340
370
; FUNC-LABEL: {{^}}workgroup_one_as_acq_rel:
341
371
; GCN: %bb.0
342
- ; GCN-NOT: s_waitcnt vmcnt(0){{$}}
372
+ ; GCN9-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
373
+ ; GCN10: s_waitcnt vmcnt(0)
374
+ ; GCN10: s_waitcnt_vscnt null, 0x0
343
375
; GCN-NOT: ATOMIC_FENCE
344
376
; GCN: s_endpgm
345
377
define amdgpu_kernel void @workgroup_one_as_acq_rel () {
@@ -350,7 +382,9 @@ entry:
350
382
351
383
; FUNC-LABEL: {{^}}workgroup_one_as_seq_cst:
352
384
; GCN: %bb.0
353
- ; GCN-NOT: s_waitcnt vmcnt(0){{$}}
385
+ ; GCN9-NOT: s_waitcnt vmcnt(0) lgkmcnt(0){{$}}
386
+ ; GCN10: s_waitcnt vmcnt(0)
387
+ ; GCN10: s_waitcnt_vscnt null, 0x0
354
388
; GCN-NOT: ATOMIC_FENCE
355
389
; GCN: s_endpgm
356
390
define amdgpu_kernel void @workgroup_one_as_seq_cst () {
0 commit comments