11; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
22; RUN: llc -global-isel=1 -mtriple=amdgcn -mcpu=gfx942 -O0 -verify-machineinstrs < %s | FileCheck %s
33
4- define amdgpu_cs_chain void @indirect (ptr %callee ) {
5- ; CHECK-LABEL: indirect :
4+ define amdgpu_cs_chain void @recurse (ptr %callee ) {
5+ ; CHECK-LABEL: recurse :
66; CHECK: ; %bb.0:
77; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
88; CHECK-NEXT: s_mov_b32 s32, 16
@@ -26,8 +26,8 @@ define amdgpu_cs_chain void @indirect(ptr %callee) {
2626; CHECK-NEXT: s_mov_b32 s15, s0
2727; CHECK-NEXT: v_mov_b32_e32 v31, s0
2828; CHECK-NEXT: s_getpc_b64 s[0:1]
29- ; CHECK-NEXT: s_add_u32 s0, s0, indirect @gotpcrel32@lo+4
30- ; CHECK-NEXT: s_addc_u32 s1, s1, indirect @gotpcrel32@hi+12
29+ ; CHECK-NEXT: s_add_u32 s0, s0, recurse @gotpcrel32@lo+4
30+ ; CHECK-NEXT: s_addc_u32 s1, s1, recurse @gotpcrel32@hi+12
3131; CHECK-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x0
3232; CHECK-NEXT: s_waitcnt lgkmcnt(0)
3333; CHECK-NEXT: s_swappc_b64 s[30:31], s[0:1]
@@ -61,24 +61,9 @@ define amdgpu_cs_chain void @indirect(ptr %callee) {
6161; CHECK-NEXT: s_mov_b64 exec, s[8:9]
6262; CHECK-NEXT: s_mov_b64 exec, 0
6363; CHECK-NEXT: s_setpc_b64 s[4:5]
64- call void @indirect (ptr null )
64+ call void @recurse (ptr null )
6565 call void (ptr , i64 , <3 x i32 >, { i32 , ptr addrspace (5 ), i32 , i32 }, i32 , ...) @llvm.amdgcn.cs.chain.p0.i64.v3i32.sl_i32p5i32i32s (ptr null , i64 0 , <3 x i32 > inreg zeroinitializer , { i32 , ptr addrspace (5 ), i32 , i32 } zeroinitializer , i32 0 )
6666 unreachable
6767}
6868
69- define amdgpu_cs_chain void @fp_all () #0 {
70- ; CHECK-LABEL: fp_all:
71- ; CHECK: ; %bb.0:
72- ; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
73- ; CHECK-NEXT: s_mov_b32 s0, 0
74- ; CHECK-NEXT: v_mov_b32_e32 v0, s0
75- ; CHECK-NEXT: scratch_store_dword off, v0, off
76- ; CHECK-NEXT: s_endpgm
77- %v = alloca i32 , align 4 , addrspace (5 )
78- store i32 0 , ptr addrspace (5 ) %v , align 4
79- ret void
80- }
81-
82- attributes #0 = { "frame-pointer" ="all" }
83-
8469declare void @llvm.amdgcn.cs.chain.p0.i64.v3i32.sl_i32p5i32i32s (ptr , i64 , <3 x i32 >, { i32 , ptr addrspace (5 ), i32 , i32 }, i32 immarg, ...)
0 commit comments