102 lines · plain
1; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx90a < %s | FileCheck -check-prefixes=CHECK,GFX90A %s2; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx908 < %s | FileCheck -check-prefixes=CHECK,GFX908 %s3; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx801 < %s | FileCheck -check-prefixes=CHECK,GFX801 %s4 5; COM: Adapted from agpr-register-count.ll6; COM: GFX900 and below should not have .agpr_count present in the metadata7 8; CHECK: ---9; CHECK: amdhsa.kernels:10 11; GFX90A: - .agpr_count: 3212; GFX908: - .agpr_count: 3213; GFX801-NOT: - .agpr_count:14; CHECK: .name: kernel_32_agprs15; GFX90A: .vgpr_count: 4416; GFX908: .vgpr_count: 3217; GFX801: .vgpr_count: 918define amdgpu_kernel void @kernel_32_agprs() #0 {19bb:20 call void asm sideeffect "", "~{v8}" ()21 call void asm sideeffect "", "~{a31}" ()22 ret void23}24 25; GFX90A: - .agpr_count: 026; GFX908: - .agpr_count: 027; GFX801-NOT: - .agpr_count:28; CHECK: .name: kernel_0_agprs29; GFX90A: .vgpr_count: 130; GFX908: .vgpr_count: 131; GFX801: .vgpr_count: 132define amdgpu_kernel void @kernel_0_agprs() #0 {33bb:34 call void asm sideeffect "", "~{v0}" ()35 ret void36}37 38; GFX90A: - .agpr_count: 1639; GFX908: - .agpr_count: 1640; GFX801-NOT: - .agpr_count:41; CHECK: .name: kernel_40_vgprs42; GFX90A: .vgpr_count: 5643; GFX908: .vgpr_count: 4044; GFX801: .vgpr_count: 4045define amdgpu_kernel void @kernel_40_vgprs() #0 {46bb:47 call void asm sideeffect "", "~{v39}" ()48 call void asm sideeffect "", "~{a15}" ()49 ret void50}51 52; GFX90A: - .agpr_count: 25653; GFX908: - .agpr_count: 25654; GFX801-NOT: - .agpr_count:55; CHECK: .name: kernel_max_gprs56; GFX90A: .vgpr_count: 51257; GFX908: .vgpr_count: 25658; GFX801: .vgpr_count: 25659define amdgpu_kernel void @kernel_max_gprs() #0 {60bb:61 call void asm sideeffect "", "~{v255}" ()62 call void asm sideeffect "", "~{a255}" ()63 ret void64}65 66define void @func_32_agprs() #0 {67bb:68 call void asm sideeffect "", "~{v8}" ()69 call void asm sideeffect "", "~{a31}" ()70 ret void71}72 73; GFX90A: - .agpr_count: 3274; GFX908: - .agpr_count: 3275; GFX801-NOT: - .agpr_count:76; CHECK: .name: kernel_call_func_32_agprs77; GFX90A: .vgpr_count: 4478; GFX908: .vgpr_count: 3279; GFX801: .vgpr_count: 980define amdgpu_kernel void @kernel_call_func_32_agprs() #0 {81bb:82 call void @func_32_agprs() #083 ret void84}85 86declare void @undef_func()87 88; GFX90A: - .agpr_count: 3289; GFX908: - .agpr_count: 3290; GFX801-NOT: - .agpr_count:91; CHECK: .name: kernel_call_undef_func92; GFX90A: .vgpr_count: 6493; GFX908: .vgpr_count: 3294; GFX801: .vgpr_count: 3295define amdgpu_kernel void @kernel_call_undef_func() #0 {96bb:97 call void @undef_func()98 ret void99}100 101attributes #0 = { nounwind noinline "amdgpu-flat-work-group-size"="1,512" "amdgpu-no-workitem-id-x" "amdgpu-no-workitem-id-y" "amdgpu-no-workitem-id-z" }102