25 lines · plain
1; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -o - %s | FileCheck %s2 3; CHECK-LABEL: {{^}}t0:4; CHECK: s_load_dwordx2 s[[[PTR_LO:[0-9]+]]:[[PTR_HI:[0-9]+]]], s[8:9], 0x05; CHECK: v_mov_b32_e32 v{{[0-9]+}}, s[[PTR_HI]]6; There should be no redundant copies from PTR_HI.7; CHECK-NOT: v_mov_b32_e32 v{{[0-9]+}}, s[[PTR_HI]]8define protected amdgpu_kernel void @t0(ptr addrspace(1) %p, i32 %i0, i32 %j0, i32 %k0) {9entry:10 %0 = tail call i32 @llvm.amdgcn.workitem.id.x()11 %i = add i32 %0, %i012 %j = add i32 %0, %j013 %k = add i32 %0, %k014 %pi = getelementptr float, ptr addrspace(1) %p, i32 %i15 %vi = load float, ptr addrspace(1) %pi16 %pj = getelementptr float, ptr addrspace(1) %p, i32 %j17 %vj = load float, ptr addrspace(1) %pj18 %sum = fadd float %vi, %vj19 %pk = getelementptr float, ptr addrspace(1) %p, i32 %k20 store float %sum, ptr addrspace(1) %pk21 ret void22}23 24declare i32 @llvm.amdgcn.workitem.id.x()25