brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.1 KiB · 6e36093 Raw
182 lines · plain
1; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx908 < %s | FileCheck -check-prefixes=GCN,GFX908 %s2; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx90a < %s | FileCheck -check-prefixes=GCN,GFX90A %s3 4; GCN-LABEL: {{^}}kernel_32_agprs:5; GFX908: .amdhsa_next_free_vgpr 326; GFX90A: .amdhsa_next_free_vgpr 447; GFX90A: .amdhsa_accum_offset 128; GCN:    NumVgprs: 99; GCN:    NumAgprs: 3210; GFX908: TotalNumVgprs: 3211; GFX90A: TotalNumVgprs: 4412; GFX908: VGPRBlocks: 713; GFX90A: VGPRBlocks: 514; GFX908: NumVGPRsForWavesPerEU: 3215; GFX90A: NumVGPRsForWavesPerEU: 4416; GFX90A: AccumOffset: 1217; GCN:    Occupancy: 818; GFX90A: COMPUTE_PGM_RSRC3_GFX90A:ACCUM_OFFSET: 219define amdgpu_kernel void @kernel_32_agprs() #0 {20bb:21  call void asm sideeffect "", "~{v8}" ()22  call void asm sideeffect "", "~{a31}" ()23  ret void24}25 26; GCN-LABEL: {{^}}kernel_0_agprs:27; GCN:    .amdhsa_next_free_vgpr 128; GFX90A: .amdhsa_accum_offset 429; GCN:    NumVgprs: 130; GCN:    NumAgprs: 031; GCN:    TotalNumVgprs: 132; GCN:    VGPRBlocks: 033; GCN:    NumVGPRsForWavesPerEU: 134; GFX90A: AccumOffset: 435; GFX908: Occupancy: 1036; GFX90A: Occupancy: 837; GFX90A: COMPUTE_PGM_RSRC3_GFX90A:ACCUM_OFFSET: 038define amdgpu_kernel void @kernel_0_agprs() #0 {39bb:40  call void asm sideeffect "", "~{v0}" ()41  ret void42}43 44; GCN-LABEL: {{^}}kernel_40_vgprs:45; GFX908: .amdhsa_next_free_vgpr 4046; GFX90A: .amdhsa_next_free_vgpr 5647; GFX90A: .amdhsa_accum_offset 4048; GCN:    NumVgprs: 4049; GCN:    NumAgprs: 1650; GFX908: TotalNumVgprs: 4051; GFX90A: TotalNumVgprs: 5652; GFX908: VGPRBlocks: 953; GFX90A: VGPRBlocks: 654; GFX908: NumVGPRsForWavesPerEU: 4055; GFX90A: NumVGPRsForWavesPerEU: 5656; GFX90A: AccumOffset: 4057; GFX908: Occupancy: 658; GFX90A: Occupancy: 859; GFX90A: COMPUTE_PGM_RSRC3_GFX90A:ACCUM_OFFSET: 960define amdgpu_kernel void @kernel_40_vgprs() #0 {61bb:62  call void asm sideeffect "", "~{v39}" ()63  call void asm sideeffect "", "~{a15}" ()64  ret void65}66 67; GCN-LABEL: {{^}}func_32_agprs:68; GCN:    NumVgprs: 969; GCN:    NumAgprs: 3270; GFX908: TotalNumVgprs: 3271; GFX90A: TotalNumVgprs: 4472define void @func_32_agprs() #0 {73bb:74  call void asm sideeffect "", "~{v8}" ()75  call void asm sideeffect "", "~{a31}" ()76  ret void77}78 79; GCN-LABEL: {{^}}func_32_vgprs:80; GCN:    NumVgprs: 3281; GCN:    NumAgprs: 982; GFX908: TotalNumVgprs: 3283; GFX90A: TotalNumVgprs: 4184define void @func_32_vgprs() #0 {85bb:86  call void asm sideeffect "", "~{v31}" ()87  call void asm sideeffect "", "~{a8}" ()88  ret void89}90 91; GCN-LABEL: {{^}}func_0_agprs:92; GCN:    NumVgprs: 193; GCN:    NumAgprs: 094; GCN:    TotalNumVgprs: 195define amdgpu_kernel void @func_0_agprs() #0 {96bb:97  call void asm sideeffect "", "~{v0}" ()98  ret void99}100 101; GCN-LABEL: {{^}}kernel_max_gprs:102; GFX908: .amdhsa_next_free_vgpr 256103; GFX90A: .amdhsa_next_free_vgpr 512104; GFX90A: .amdhsa_accum_offset 256105; GCN:    NumVgprs: 256106; GCN:    NumAgprs: 256107; GFX908: TotalNumVgprs: 256108; GFX90A: TotalNumVgprs: 512109; GFX908: VGPRBlocks: 63110; GFX90A: VGPRBlocks: 63111; GFX908: NumVGPRsForWavesPerEU: 256112; GFX90A: NumVGPRsForWavesPerEU: 512113; GFX90A: AccumOffset: 256114; GCN:    Occupancy: 1115; GFX90A: COMPUTE_PGM_RSRC3_GFX90A:ACCUM_OFFSET: 63116define amdgpu_kernel void @kernel_max_gprs() #0 {117bb:118  call void asm sideeffect "", "~{v255}" ()119  call void asm sideeffect "", "~{a255}" ()120  ret void121}122 123; GCN-LABEL: {{^}}kernel_call_func_32_agprs:124; GFX908: .amdhsa_next_free_vgpr 32125; GFX90A: .amdhsa_accum_offset 12126; GCN:    NumVgprs: 9127; GCN:    NumAgprs: 32128; GFX908: TotalNumVgprs: 32129; GFX90A: TotalNumVgprs: 44130; GFX908: VGPRBlocks: 7131; GFX90A: VGPRBlocks: 5132; GFX908: NumVGPRsForWavesPerEU: 32133; GFX90A: NumVGPRsForWavesPerEU: 44134; GFX90A: AccumOffset: 12135; GCN:    Occupancy: 8136; GFX90A: COMPUTE_PGM_RSRC3_GFX90A:ACCUM_OFFSET: 2137define amdgpu_kernel void @kernel_call_func_32_agprs() #0 {138bb:139  call void @func_32_agprs() #0140  ret void141}142 143; GCN-LABEL: {{^}}func_call_func_32_agprs:144; GCN:    NumVgprs: 9145; GCN:    NumAgprs: 32146; GFX908: TotalNumVgprs: 32147; GFX90A: TotalNumVgprs: 44148define void @func_call_func_32_agprs() #0 {149bb:150  call void @func_32_agprs() #0151  ret void152}153 154declare void @undef_func()155 156; GCN-LABEL: {{^}}kernel_call_undef_func:157; GCN:    .amdhsa_next_free_vgpr max(totalnumvgprs(kernel_call_undef_func.num_agpr, kernel_call_undef_func.num_vgpr), 1, 0)158; GFX90A: .amdhsa_accum_offset (((((alignto(max(1, kernel_call_undef_func.num_vgpr), 4)/4)-1)&~65536)&63)+1)*4159; GCN:    .set kernel_call_undef_func.num_vgpr, max(32, amdgpu.max_num_vgpr)160; GCN:    .set kernel_call_undef_func.num_agpr, max(0, amdgpu.max_num_agpr)161; GCN:    NumVgprs: kernel_call_undef_func.num_vgpr162; GCN:    NumAgprs: kernel_call_undef_func.num_agpr163; GCN:    TotalNumVgprs: totalnumvgprs(kernel_call_undef_func.num_agpr, kernel_call_undef_func.num_vgpr)164; GFX908: VGPRBlocks: (alignto(max(max(totalnumvgprs(kernel_call_undef_func.num_agpr, kernel_call_undef_func.num_vgpr), 1, 0), 1), 4)/4)-1165; GFX90A: VGPRBlocks: (alignto(max(max(totalnumvgprs(kernel_call_undef_func.num_agpr, kernel_call_undef_func.num_vgpr), 1, 0), 1), 8)/8)-1166; GCN:    NumVGPRsForWavesPerEU: max(totalnumvgprs(kernel_call_undef_func.num_agpr, kernel_call_undef_func.num_vgpr), 1, 0)167; GFX90A: AccumOffset: ((alignto(max(1, kernel_call_undef_func.num_vgpr), 4)/4)-1+1)*4168; GFX908: Occupancy: occupancy(10, 4, 256, 8, 10, max(kernel_call_undef_func.numbered_sgpr+extrasgprs(kernel_call_undef_func.uses_vcc, kernel_call_undef_func.uses_flat_scratch, 1), 1, 0), max(totalnumvgprs(kernel_call_undef_func.num_agpr, kernel_call_undef_func.num_vgpr), 1, 0))169; GFX90A: Occupancy: occupancy(8, 8, 512, 8, 8, max(kernel_call_undef_func.numbered_sgpr+extrasgprs(kernel_call_undef_func.uses_vcc, kernel_call_undef_func.uses_flat_scratch, 1), 1, 0), max(totalnumvgprs(kernel_call_undef_func.num_agpr, kernel_call_undef_func.num_vgpr), 1, 0))170; GFX90A: COMPUTE_PGM_RSRC3_GFX90A:ACCUM_OFFSET: (((alignto(max(1, kernel_call_undef_func.num_vgpr), 4)/4)-1)&~65536)&63171define amdgpu_kernel void @kernel_call_undef_func() #0 {172bb:173  call void @undef_func()174  ret void175}176 177; GCN:      .set amdgpu.max_num_vgpr, 32178; GCN-NEXT: .set amdgpu.max_num_agpr, 32179; GCN-NEXT: .set amdgpu.max_num_sgpr, 34180 181attributes #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" }182