70 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck %s3 4define amdgpu_kernel void @entry_fn() {5; CHECK-LABEL: entry_fn:6; CHECK: ; %bb.0: ; %entry7; CHECK-NEXT: s_getpc_b64 s[4:5]8; CHECK-NEXT: s_sext_i32_i16 s5, s59; CHECK-NEXT: s_add_co_u32 s4, s4, entry_fn@gotpcrel32@lo+810; CHECK-NEXT: s_add_co_ci_u32 s5, s5, entry_fn@gotpcrel32@hi+1611; CHECK-NEXT: s_mov_b32 s32, 012; CHECK-NEXT: s_load_b64 s[4:5], s[4:5], 0x013; CHECK-NEXT: s_wait_kmcnt 0x014; CHECK-NEXT: s_swappc_b64 s[30:31], s[4:5]15; CHECK-NEXT: s_endpgm16entry:17 call void @entry_fn()18 ret void19}20 21define void @caller() {22; CHECK-LABEL: caller:23; CHECK: ; %bb.0: ; %entry24; CHECK-NEXT: s_wait_loadcnt_dscnt 0x025; CHECK-NEXT: s_wait_expcnt 0x026; CHECK-NEXT: s_wait_samplecnt 0x027; CHECK-NEXT: s_wait_bvhcnt 0x028; CHECK-NEXT: s_wait_kmcnt 0x029; CHECK-NEXT: s_mov_b32 s0, s3330; CHECK-NEXT: s_mov_b32 s33, s3231; CHECK-NEXT: s_or_saveexec_b32 s1, -132; CHECK-NEXT: scratch_store_b32 off, v40, s33 ; 4-byte Folded Spill33; CHECK-NEXT: s_wait_alu depctr_sa_sdst(0)34; CHECK-NEXT: s_mov_b32 exec_lo, s135; CHECK-NEXT: s_add_co_i32 s32, s32, 1636; CHECK-NEXT: v_writelane_b32 v40, s0, 237; 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 depctr_sa_sdst(0)40; CHECK-NEXT: s_sext_i32_i16 s5, s541; CHECK-NEXT: s_add_co_u32 s4, s4, entry_fn@gotpcrel32@lo+1242; CHECK-NEXT: s_wait_alu depctr_sa_sdst(0)43; CHECK-NEXT: s_add_co_ci_u32 s5, s5, entry_fn@gotpcrel32@hi+2444; CHECK-NEXT: v_mov_b32_e32 v0, v3145; CHECK-NEXT: s_load_b64 s[4:5], s[4:5], 0x046; CHECK-NEXT: v_writelane_b32 v40, s30, 047; 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, 150; CHECK-NEXT: s_wait_kmcnt 0x051; CHECK-NEXT: s_wait_alu depctr_sa_sdst(0)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, 155; CHECK-NEXT: v_readlane_b32 s30, v40, 056; CHECK-NEXT: s_mov_b32 s32, s3357; CHECK-NEXT: v_readlane_b32 s0, v40, 258; CHECK-NEXT: s_or_saveexec_b32 s1, -159; CHECK-NEXT: scratch_load_b32 v40, off, s33 ; 4-byte Folded Reload60; CHECK-NEXT: s_wait_alu depctr_sa_sdst(0)61; CHECK-NEXT: s_mov_b32 exec_lo, s162; CHECK-NEXT: s_mov_b32 s33, s063; CHECK-NEXT: s_wait_loadcnt 0x064; CHECK-NEXT: s_wait_alu depctr_sa_sdst(0)65; CHECK-NEXT: s_setpc_b64 s[30:31]66entry:67 call void @entry_fn()68 ret void69}70