|
1 |
| -; RUN: llc < %s |
2 |
| -target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128-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-G1-ni:7:8:9" |
3 |
| -target triple = "amdgcn-amd-amdhsa" |
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 |
| 2 | +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck %s |
4 | 3 |
|
5 | 4 | @_RSENC_gDcd_______________________________ = external protected addrspace(1) externally_initialized global [4096 x i8], align 16
|
6 | 5 |
|
7 | 6 | define protected amdgpu_kernel void @_RSENC_PRInit__________________________________(i1 %c0) local_unnamed_addr #0 {
|
| 7 | +; CHECK-LABEL: _RSENC_PRInit__________________________________: |
| 8 | +; CHECK: ; %bb.0: ; %entry |
| 9 | +; CHECK-NEXT: s_add_u32 flat_scratch_lo, s12, s17 |
| 10 | +; CHECK-NEXT: s_addc_u32 flat_scratch_hi, s13, 0 |
| 11 | +; CHECK-NEXT: flat_load_dword v0, v[0:1] |
| 12 | +; CHECK-NEXT: s_add_u32 s0, s0, s17 |
| 13 | +; CHECK-NEXT: s_mov_b32 s4, 0xf19b3 |
| 14 | +; CHECK-NEXT: s_addc_u32 s1, s1, 0 |
| 15 | +; CHECK-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0) |
| 16 | +; CHECK-NEXT: v_lshl_add_u32 v0, v0, 1, v0 |
| 17 | +; CHECK-NEXT: v_cmp_ne_u32_e32 vcc, s4, v0 |
| 18 | +; CHECK-NEXT: s_and_saveexec_b64 s[4:5], vcc |
| 19 | +; CHECK-NEXT: s_cbranch_execz .LBB0_12 |
| 20 | +; CHECK-NEXT: ; %bb.1: ; %if.end15 |
| 21 | +; CHECK-NEXT: s_load_dword s4, s[8:9], 0x0 |
| 22 | +; CHECK-NEXT: s_waitcnt lgkmcnt(0) |
| 23 | +; CHECK-NEXT: s_bitcmp1_b32 s4, 0 |
| 24 | +; CHECK-NEXT: s_cselect_b64 s[4:5], -1, 0 |
| 25 | +; CHECK-NEXT: s_and_b64 vcc, exec, s[4:5] |
| 26 | +; CHECK-NEXT: s_cbranch_vccnz .LBB0_12 |
| 27 | +; CHECK-NEXT: .LBB0_2: ; %while.cond.i |
| 28 | +; CHECK-NEXT: ; =>This Inner Loop Header: Depth=1 |
| 29 | +; CHECK-NEXT: s_cbranch_scc1 .LBB0_2 |
| 30 | +; CHECK-NEXT: ; %bb.3: ; %if.end60 |
| 31 | +; CHECK-NEXT: s_mov_b64 vcc, exec |
| 32 | +; CHECK-NEXT: s_cbranch_execz .LBB0_11 |
| 33 | +; CHECK-NEXT: ; %bb.4: ; %if.end5.i |
| 34 | +; CHECK-NEXT: s_mov_b64 vcc, vcc |
| 35 | +; CHECK-NEXT: s_cbranch_vccz .LBB0_11 |
| 36 | +; CHECK-NEXT: ; %bb.5: ; %if.end5.i314 |
| 37 | +; CHECK-NEXT: s_mov_b64 vcc, exec |
| 38 | +; CHECK-NEXT: s_cbranch_execz .LBB0_11 |
| 39 | +; CHECK-NEXT: ; %bb.6: ; %if.end5.i338 |
| 40 | +; CHECK-NEXT: s_mov_b64 vcc, vcc |
| 41 | +; CHECK-NEXT: s_cbranch_vccz .LBB0_11 |
| 42 | +; CHECK-NEXT: ; %bb.7: ; %if.end5.i362 |
| 43 | +; CHECK-NEXT: v_mov_b32_e32 v0, 0 |
| 44 | +; CHECK-NEXT: s_getpc_b64 s[4:5] |
| 45 | +; CHECK-NEXT: s_add_u32 s4, s4, _RSENC_gDcd_______________________________@rel32@lo+1157 |
| 46 | +; CHECK-NEXT: s_addc_u32 s5, s5, _RSENC_gDcd_______________________________@rel32@hi+1165 |
| 47 | +; CHECK-NEXT: global_load_ubyte v1, v0, s[4:5] |
| 48 | +; CHECK-NEXT: s_nop 0 |
| 49 | +; CHECK-NEXT: buffer_store_byte v0, v0, s[0:3], 0 offen |
| 50 | +; CHECK-NEXT: s_waitcnt vmcnt(1) |
| 51 | +; CHECK-NEXT: buffer_store_byte v1, off, s[0:3], 0 offset:257 |
| 52 | +; CHECK-NEXT: s_cbranch_execz .LBB0_11 |
| 53 | +; CHECK-NEXT: ; %bb.8: ; %if.end5.i400 |
| 54 | +; CHECK-NEXT: flat_load_ubyte v0, v[0:1] |
| 55 | +; CHECK-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0) |
| 56 | +; CHECK-NEXT: v_cmp_eq_u16_e32 vcc, 0, v0 |
| 57 | +; CHECK-NEXT: s_and_b64 exec, exec, vcc |
| 58 | +; CHECK-NEXT: s_cbranch_execz .LBB0_11 |
| 59 | +; CHECK-NEXT: ; %bb.9: ; %if.then404 |
| 60 | +; CHECK-NEXT: s_movk_i32 s4, 0x1000 |
| 61 | +; CHECK-NEXT: .LBB0_10: ; %for.body564 |
| 62 | +; CHECK-NEXT: ; =>This Inner Loop Header: Depth=1 |
| 63 | +; CHECK-NEXT: s_sub_i32 s4, s4, 32 |
| 64 | +; CHECK-NEXT: s_cmp_lg_u32 s4, 0 |
| 65 | +; CHECK-NEXT: s_cbranch_scc1 .LBB0_10 |
| 66 | +; CHECK-NEXT: .LBB0_11: ; %UnifiedUnreachableBlock |
| 67 | +; CHECK-NEXT: ; divergent unreachable |
| 68 | +; CHECK-NEXT: .LBB0_12: ; %UnifiedReturnBlock |
| 69 | +; CHECK-NEXT: s_endpgm |
8 | 70 | entry:
|
9 | 71 | %runtimeVersionCopy = alloca [128 x i8], align 16, addrspace(5)
|
10 | 72 | %licenseVersionCopy = alloca [128 x i8], align 16, addrspace(5)
|
|
0 commit comments