brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 71d4e6b Raw
31 lines · plain
1; RUN: llc -mcpu=gfx1200 < %s | FileCheck %s --check-prefixes=CHECK,PACKED2; RUN: llc -mcpu=gfx1030 < %s | FileCheck %s --check-prefixes=CHECK,NOTPACKED3target triple = "amdgcn-amd-amdhsa"4 5@global = addrspace(1) global i32 poison, align 46 7; Carefully crafted kernel that uses v0 but never writes a VGPR or reads another VGPR.8; Only hardware-initialized VGPRs (v0) are read in this kernel.9 10; CHECK-LABEL: amdhsa.kernels:11; CHECK-LABEL: kernel_x12; CHECK: .vgpr_count:     113define amdgpu_kernel void @kernel_x(ptr addrspace(8) %rsrc) #0 {14entry:15  %id = call i32 @llvm.amdgcn.workitem.id.x()16  call void @llvm.amdgcn.raw.ptr.buffer.store.i32(i32 %id, ptr addrspace(8) %rsrc, i32 0, i32 0, i32 0)17  ret void18}19 20; CHECK-LABEL: kernel_z21; PACKED: .vgpr_count:     122; NOTPACKED: .vgpr_count:     323define amdgpu_kernel void @kernel_z(ptr addrspace(8) %rsrc) {24entry:25  %id = call i32 @llvm.amdgcn.workitem.id.z()26  call void @llvm.amdgcn.raw.ptr.buffer.store.i32(i32 %id, ptr addrspace(8) %rsrc, i32 0, i32 0, i32 0)27  ret void28}29 30attributes #0 = { "amdgpu-no-workitem-id-y" "amdgpu-no-workitem-id-z" }31