|
1 |
| -; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s |
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
2 | 2 | ; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
|
3 | 3 |
|
4 |
| - |
5 |
| -; GCN-LABEL: {{^}}set_inactive: |
6 |
| -; GCN: s_not_b64 exec, exec |
7 |
| -; GCN: v_mov_b32_e32 {{v[0-9]+}}, 42 |
8 |
| -; GCN: s_not_b64 exec, exec |
9 | 4 | define amdgpu_kernel void @set_inactive(i32 addrspace(1)* %out, i32 %in) {
|
| 5 | +; GCN-LABEL: set_inactive: |
| 6 | +; GCN: ; %bb.0: |
| 7 | +; GCN-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x24 |
| 8 | +; GCN-NEXT: s_load_dword s0, s[0:1], 0x2c |
| 9 | +; GCN-NEXT: s_mov_b32 s7, 0xf000 |
| 10 | +; GCN-NEXT: s_mov_b32 s6, -1 |
| 11 | +; GCN-NEXT: s_waitcnt lgkmcnt(0) |
| 12 | +; GCN-NEXT: v_mov_b32_e32 v0, s0 |
| 13 | +; GCN-NEXT: s_not_b64 exec, exec |
| 14 | +; GCN-NEXT: v_mov_b32_e32 v0, 42 |
| 15 | +; GCN-NEXT: s_not_b64 exec, exec |
| 16 | +; GCN-NEXT: buffer_store_dword v0, off, s[4:7], 0 |
| 17 | +; GCN-NEXT: s_endpgm |
10 | 18 | %tmp = call i32 @llvm.amdgcn.set.inactive.i32(i32 %in, i32 42) #0
|
11 | 19 | store i32 %tmp, i32 addrspace(1)* %out
|
12 | 20 | ret void
|
13 | 21 | }
|
14 | 22 |
|
15 |
| -; GCN-LABEL: {{^}}set_inactive_64: |
16 |
| -; GCN: s_not_b64 exec, exec |
17 |
| -; GCN: v_mov_b32_e32 {{v[0-9]+}}, 0 |
18 |
| -; GCN: v_mov_b32_e32 {{v[0-9]+}}, 0 |
19 |
| -; GCN: s_not_b64 exec, exec |
20 | 23 | define amdgpu_kernel void @set_inactive_64(i64 addrspace(1)* %out, i64 %in) {
|
| 24 | +; GCN-LABEL: set_inactive_64: |
| 25 | +; GCN: ; %bb.0: |
| 26 | +; GCN-NEXT: s_load_dwordx4 s[4:7], s[0:1], 0x24 |
| 27 | +; GCN-NEXT: s_mov_b32 s3, 0xf000 |
| 28 | +; GCN-NEXT: s_mov_b32 s2, -1 |
| 29 | +; GCN-NEXT: s_waitcnt lgkmcnt(0) |
| 30 | +; GCN-NEXT: s_mov_b32 s0, s4 |
| 31 | +; GCN-NEXT: s_mov_b32 s1, s5 |
| 32 | +; GCN-NEXT: v_mov_b32_e32 v0, s6 |
| 33 | +; GCN-NEXT: v_mov_b32_e32 v1, s7 |
| 34 | +; GCN-NEXT: s_not_b64 exec, exec |
| 35 | +; GCN-NEXT: v_mov_b32_e32 v0, 0 |
| 36 | +; GCN-NEXT: v_mov_b32_e32 v1, 0 |
| 37 | +; GCN-NEXT: s_not_b64 exec, exec |
| 38 | +; GCN-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0 |
| 39 | +; GCN-NEXT: s_endpgm |
21 | 40 | %tmp = call i64 @llvm.amdgcn.set.inactive.i64(i64 %in, i64 0) #0
|
22 | 41 | store i64 %tmp, i64 addrspace(1)* %out
|
23 | 42 | ret void
|
|
0 commit comments