1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN -enable-var-scope %s 3 4; Callee with SGPR and VGPR arguments 5define hidden amdgpu_gfx float @callee(float %v.arg0, float inreg %s.arg1) { 6; GCN-LABEL: callee: 7; GCN: ; %bb.0: 8; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 9; GCN-NEXT: v_add_f32_e32 v0, s4, v0 10; GCN-NEXT: s_setpc_b64 s[30:31] 11 %add = fadd float %v.arg0, %s.arg1 12 ret float %add 13} 14 15define amdgpu_gfx float @caller(float %arg0) { 16; GCN-LABEL: caller: 17; GCN: ; %bb.0: 18; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 19; GCN-NEXT: v_add_f32_e32 v0, 1.0, v0 20; GCN-NEXT: s_mov_b32 s4, 2.0 21; GCN-NEXT: s_getpc_b64 s[6:7] 22; GCN-NEXT: s_add_u32 s6, s6, callee@rel32@lo+4 23; GCN-NEXT: s_addc_u32 s7, s7, callee@rel32@hi+12 24; GCN-NEXT: s_setpc_b64 s[6:7] 25 %add = fadd float %arg0, 1.0 26 %call = tail call amdgpu_gfx float @callee(float %add, float 2.0) 27 ret float %call 28} 29