Skip to content

Commit 03c691d

Browse files
committed
Use autogenerate, use stdout, add call to entry from another fn
1 parent f67737b commit 03c691d

File tree

1 file changed

+63
-2
lines changed

1 file changed

+63
-2
lines changed

llvm/test/CodeGen/AMDGPU/cc-entry.ll

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,68 @@
1-
; RUN: llc -mtriple=amdgcn -mcpu=gfx1200 < %s 2>&1 | FileCheck %s
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2+
; RUN: llc -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck %s
23

34
define amdgpu_kernel void @entry_fn() {
4-
; CHECK-NOT: LLVM ERROR: invalid call to entry function
5+
; CHECK-LABEL: entry_fn:
6+
; CHECK: ; %bb.0: ; %entry
7+
; CHECK-NEXT: s_getpc_b64 s[4:5]
8+
; CHECK-NEXT: s_sext_i32_i16 s5, s5
9+
; CHECK-NEXT: s_add_co_u32 s4, s4, entry_fn@gotpcrel32@lo+8
10+
; CHECK-NEXT: s_add_co_ci_u32 s5, s5, entry_fn@gotpcrel32@hi+16
11+
; CHECK-NEXT: s_mov_b32 s32, 0
12+
; CHECK-NEXT: s_load_b64 s[4:5], s[4:5], 0x0
13+
; CHECK-NEXT: s_wait_kmcnt 0x0
14+
; CHECK-NEXT: s_swappc_b64 s[30:31], s[4:5]
15+
; CHECK-NEXT: s_endpgm
16+
entry:
17+
call void @entry_fn()
18+
ret void
19+
}
20+
21+
define void @caller() {
22+
; CHECK-LABEL: caller:
23+
; CHECK: ; %bb.0: ; %entry
24+
; CHECK-NEXT: s_wait_loadcnt_dscnt 0x0
25+
; CHECK-NEXT: s_wait_expcnt 0x0
26+
; CHECK-NEXT: s_wait_samplecnt 0x0
27+
; CHECK-NEXT: s_wait_bvhcnt 0x0
28+
; CHECK-NEXT: s_wait_kmcnt 0x0
29+
; CHECK-NEXT: s_mov_b32 s0, s33
30+
; CHECK-NEXT: s_mov_b32 s33, s32
31+
; CHECK-NEXT: s_or_saveexec_b32 s1, -1
32+
; CHECK-NEXT: scratch_store_b32 off, v40, s33 ; 4-byte Folded Spill
33+
; CHECK-NEXT: s_wait_alu 0xfffe
34+
; CHECK-NEXT: s_mov_b32 exec_lo, s1
35+
; CHECK-NEXT: s_add_co_i32 s32, s32, 16
36+
; CHECK-NEXT: v_writelane_b32 v40, s0, 2
37+
; CHECK-NEXT: s_mov_b64 s[0:1], s[4:5]
38+
; CHECK-NEXT: s_getpc_b64 s[4:5]
39+
; CHECK-NEXT: s_wait_alu 0xfffe
40+
; CHECK-NEXT: s_sext_i32_i16 s5, s5
41+
; CHECK-NEXT: s_add_co_u32 s4, s4, entry_fn@gotpcrel32@lo+12
42+
; CHECK-NEXT: s_wait_alu 0xfffe
43+
; CHECK-NEXT: s_add_co_ci_u32 s5, s5, entry_fn@gotpcrel32@hi+24
44+
; CHECK-NEXT: v_mov_b32_e32 v0, v31
45+
; CHECK-NEXT: s_load_b64 s[4:5], s[4:5], 0x0
46+
; CHECK-NEXT: v_writelane_b32 v40, s30, 0
47+
; CHECK-NEXT: s_mov_b64 s[2:3], s[6:7]
48+
; CHECK-NEXT: s_mov_b64 s[6:7], s[10:11]
49+
; CHECK-NEXT: v_writelane_b32 v40, s31, 1
50+
; CHECK-NEXT: s_wait_kmcnt 0x0
51+
; CHECK-NEXT: s_wait_alu 0xfffe
52+
; CHECK-NEXT: s_swappc_b64 s[30:31], s[4:5]
53+
; CHECK-NEXT: s_delay_alu instid0(VALU_DEP_1)
54+
; CHECK-NEXT: v_readlane_b32 s31, v40, 1
55+
; CHECK-NEXT: v_readlane_b32 s30, v40, 0
56+
; CHECK-NEXT: s_mov_b32 s32, s33
57+
; CHECK-NEXT: v_readlane_b32 s0, v40, 2
58+
; CHECK-NEXT: s_or_saveexec_b32 s1, -1
59+
; CHECK-NEXT: scratch_load_b32 v40, off, s33 ; 4-byte Folded Reload
60+
; CHECK-NEXT: s_wait_alu 0xfffe
61+
; CHECK-NEXT: s_mov_b32 exec_lo, s1
62+
; CHECK-NEXT: s_mov_b32 s33, s0
63+
; CHECK-NEXT: s_wait_loadcnt 0x0
64+
; CHECK-NEXT: s_wait_alu 0xfffe
65+
; CHECK-NEXT: s_setpc_b64 s[30:31]
566
entry:
667
call void @entry_fn()
768
ret void

0 commit comments

Comments
 (0)