|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
|
2 |
| -; RUN: llc -O3 -mtriple=amdgcn -mcpu=fiji %s -o - | FileCheck %s --check-prefixes=GFX8,DAGISEL-GFX9 |
| 2 | +; RUN: llc -O3 -mtriple=amdgcn -mcpu=fiji %s -o - | FileCheck %s --check-prefixes=GFX8,DAGISEL-GFX8 |
3 | 3 | ; RUN: llc -O3 -mtriple=amdgcn -mcpu=gfx942 %s -o - | FileCheck %s --check-prefixes=GFX942,DAGISEL-GFX942
|
4 | 4 | ; RUN: llc -O3 -mtriple=amdgcn -mcpu=gfx1200 %s -o - | FileCheck %s --check-prefixes=GFX12,DAGISEL-GFX12
|
5 | 5 |
|
|
9 | 9 |
|
10 | 10 | ; (workitem_id_x | workitem_id_y | workitem_id_z) == 0
|
11 | 11 | define i1 @workitem_zero() {
|
12 |
| -; DAGISEL-GFX9-LABEL: workitem_zero: |
13 |
| -; DAGISEL-GFX9: ; %bb.0: ; %entry |
14 |
| -; DAGISEL-GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
15 |
| -; DAGISEL-GFX9-NEXT: v_lshrrev_b32_e32 v1, 10, v31 |
16 |
| -; DAGISEL-GFX9-NEXT: v_lshrrev_b32_e32 v0, 20, v31 |
17 |
| -; DAGISEL-GFX9-NEXT: v_or_b32_e32 v1, v31, v1 |
18 |
| -; DAGISEL-GFX9-NEXT: v_or_b32_e32 v0, v1, v0 |
19 |
| -; DAGISEL-GFX9-NEXT: v_and_b32_e32 v0, 0x3ff, v0 |
20 |
| -; DAGISEL-GFX9-NEXT: v_cmp_eq_u32_e32 vcc, 0, v0 |
21 |
| -; DAGISEL-GFX9-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc |
22 |
| -; DAGISEL-GFX9-NEXT: s_setpc_b64 s[30:31] |
| 12 | +; DAGISEL-GFX8-LABEL: workitem_zero: |
| 13 | +; DAGISEL-GFX8: ; %bb.0: ; %entry |
| 14 | +; DAGISEL-GFX8-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 15 | +; DAGISEL-GFX8-NEXT: v_lshrrev_b32_e32 v1, 10, v31 |
| 16 | +; DAGISEL-GFX8-NEXT: v_lshrrev_b32_e32 v0, 20, v31 |
| 17 | +; DAGISEL-GFX8-NEXT: v_or_b32_e32 v1, v31, v1 |
| 18 | +; DAGISEL-GFX8-NEXT: v_or_b32_e32 v0, v1, v0 |
| 19 | +; DAGISEL-GFX8-NEXT: v_and_b32_e32 v0, 0x3ff, v0 |
| 20 | +; DAGISEL-GFX8-NEXT: v_cmp_eq_u32_e32 vcc, 0, v0 |
| 21 | +; DAGISEL-GFX8-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc |
| 22 | +; DAGISEL-GFX8-NEXT: s_setpc_b64 s[30:31] |
23 | 23 | ;
|
24 | 24 | ; DAGISEL-GFX942-LABEL: workitem_zero:
|
25 | 25 | ; DAGISEL-GFX942: ; %bb.0: ; %entry
|
@@ -103,17 +103,17 @@ entry:
|
103 | 103 |
|
104 | 104 | ; (workitem_id_x | workitem_id_y | workitem_id_z) != 0
|
105 | 105 | define i1 @workitem_nonzero() {
|
106 |
| -; DAGISEL-GFX9-LABEL: workitem_nonzero: |
107 |
| -; DAGISEL-GFX9: ; %bb.0: ; %entry |
108 |
| -; DAGISEL-GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
109 |
| -; DAGISEL-GFX9-NEXT: v_lshrrev_b32_e32 v1, 10, v31 |
110 |
| -; DAGISEL-GFX9-NEXT: v_lshrrev_b32_e32 v0, 20, v31 |
111 |
| -; DAGISEL-GFX9-NEXT: v_or_b32_e32 v1, v31, v1 |
112 |
| -; DAGISEL-GFX9-NEXT: v_or_b32_e32 v0, v1, v0 |
113 |
| -; DAGISEL-GFX9-NEXT: v_and_b32_e32 v0, 0x3ff, v0 |
114 |
| -; DAGISEL-GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v0 |
115 |
| -; DAGISEL-GFX9-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc |
116 |
| -; DAGISEL-GFX9-NEXT: s_setpc_b64 s[30:31] |
| 106 | +; DAGISEL-GFX8-LABEL: workitem_nonzero: |
| 107 | +; DAGISEL-GFX8: ; %bb.0: ; %entry |
| 108 | +; DAGISEL-GFX8-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 109 | +; DAGISEL-GFX8-NEXT: v_lshrrev_b32_e32 v1, 10, v31 |
| 110 | +; DAGISEL-GFX8-NEXT: v_lshrrev_b32_e32 v0, 20, v31 |
| 111 | +; DAGISEL-GFX8-NEXT: v_or_b32_e32 v1, v31, v1 |
| 112 | +; DAGISEL-GFX8-NEXT: v_or_b32_e32 v0, v1, v0 |
| 113 | +; DAGISEL-GFX8-NEXT: v_and_b32_e32 v0, 0x3ff, v0 |
| 114 | +; DAGISEL-GFX8-NEXT: v_cmp_ne_u32_e32 vcc, 0, v0 |
| 115 | +; DAGISEL-GFX8-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc |
| 116 | +; DAGISEL-GFX8-NEXT: s_setpc_b64 s[30:31] |
117 | 117 | ;
|
118 | 118 | ; DAGISEL-GFX942-LABEL: workitem_nonzero:
|
119 | 119 | ; DAGISEL-GFX942: ; %bb.0: ; %entry
|
@@ -197,15 +197,15 @@ entry:
|
197 | 197 |
|
198 | 198 | ; (workgroup_id_x | workgroup_id_y | workgroup_id_z) == 0
|
199 | 199 | define i1 @workgroup_zero() {
|
200 |
| -; DAGISEL-GFX9-LABEL: workgroup_zero: |
201 |
| -; DAGISEL-GFX9: ; %bb.0: ; %entry |
202 |
| -; DAGISEL-GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
203 |
| -; DAGISEL-GFX9-NEXT: s_or_b32 s4, s12, s13 |
204 |
| -; DAGISEL-GFX9-NEXT: s_or_b32 s4, s4, s14 |
205 |
| -; DAGISEL-GFX9-NEXT: s_cmp_eq_u32 s4, 0 |
206 |
| -; DAGISEL-GFX9-NEXT: s_cselect_b64 s[4:5], -1, 0 |
207 |
| -; DAGISEL-GFX9-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[4:5] |
208 |
| -; DAGISEL-GFX9-NEXT: s_setpc_b64 s[30:31] |
| 200 | +; DAGISEL-GFX8-LABEL: workgroup_zero: |
| 201 | +; DAGISEL-GFX8: ; %bb.0: ; %entry |
| 202 | +; DAGISEL-GFX8-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 203 | +; DAGISEL-GFX8-NEXT: s_or_b32 s4, s12, s13 |
| 204 | +; DAGISEL-GFX8-NEXT: s_or_b32 s4, s4, s14 |
| 205 | +; DAGISEL-GFX8-NEXT: s_cmp_eq_u32 s4, 0 |
| 206 | +; DAGISEL-GFX8-NEXT: s_cselect_b64 s[4:5], -1, 0 |
| 207 | +; DAGISEL-GFX8-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[4:5] |
| 208 | +; DAGISEL-GFX8-NEXT: s_setpc_b64 s[30:31] |
209 | 209 | ;
|
210 | 210 | ; DAGISEL-GFX942-LABEL: workgroup_zero:
|
211 | 211 | ; DAGISEL-GFX942: ; %bb.0: ; %entry
|
@@ -288,15 +288,15 @@ entry:
|
288 | 288 |
|
289 | 289 | ; (workgroup_id_x | workgroup_id_y | workgroup_id_z) != 0
|
290 | 290 | define i1 @workgroup_nonzero() {
|
291 |
| -; DAGISEL-GFX9-LABEL: workgroup_nonzero: |
292 |
| -; DAGISEL-GFX9: ; %bb.0: ; %entry |
293 |
| -; DAGISEL-GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
294 |
| -; DAGISEL-GFX9-NEXT: s_or_b32 s4, s12, s13 |
295 |
| -; DAGISEL-GFX9-NEXT: s_or_b32 s4, s4, s14 |
296 |
| -; DAGISEL-GFX9-NEXT: s_cmp_lg_u32 s4, 0 |
297 |
| -; DAGISEL-GFX9-NEXT: s_cselect_b64 s[4:5], -1, 0 |
298 |
| -; DAGISEL-GFX9-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[4:5] |
299 |
| -; DAGISEL-GFX9-NEXT: s_setpc_b64 s[30:31] |
| 291 | +; DAGISEL-GFX8-LABEL: workgroup_nonzero: |
| 292 | +; DAGISEL-GFX8: ; %bb.0: ; %entry |
| 293 | +; DAGISEL-GFX8-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 294 | +; DAGISEL-GFX8-NEXT: s_or_b32 s4, s12, s13 |
| 295 | +; DAGISEL-GFX8-NEXT: s_or_b32 s4, s4, s14 |
| 296 | +; DAGISEL-GFX8-NEXT: s_cmp_lg_u32 s4, 0 |
| 297 | +; DAGISEL-GFX8-NEXT: s_cselect_b64 s[4:5], -1, 0 |
| 298 | +; DAGISEL-GFX8-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[4:5] |
| 299 | +; DAGISEL-GFX8-NEXT: s_setpc_b64 s[30:31] |
300 | 300 | ;
|
301 | 301 | ; DAGISEL-GFX942-LABEL: workgroup_nonzero:
|
302 | 302 | ; DAGISEL-GFX942: ; %bb.0: ; %entry
|
|
0 commit comments