48 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -mattr=+block-vgpr-csr -start-before=si-lower-sgpr-spills -stop-after=prologepilog -verify-machineinstrs -o - %s | FileCheck %s2 3# The spill slot for the VGPR block needs to hold v40 and v43, so it needs to be4# 16 bytes large.5---6name: locals7tracksRegLiveness: true8machineFunctionInfo:9 stackPtrOffsetReg: $sgpr3210stack:11- { id: 0, type: default, offset: 0, size: 12, alignment: 4,12 stack-id: default, callee-saved-register: '', callee-saved-restored: true,13 local-offset: 0, debug-info-variable: '', debug-info-expression: '',14 debug-info-location: '' }15- { id: 1, type: default, offset: 12, size: 20, alignment: 4,16 stack-id: default, callee-saved-register: '', callee-saved-restored: true,17 local-offset: 0, debug-info-variable: '', debug-info-expression: '',18 debug-info-location: '' }19# CHECK-LABEL: name: locals20# CHECK: frameInfo:21# CHECK: stackSize: 5222# CHECK: stack:23# CHECK-NEXT: - { id: 0, name: '', type: default, offset: 16, size: 12, alignment: 4,24# CHECK-NEXT: stack-id: default, callee-saved-register: '', callee-saved-restored: true,25# CHECK-NEXT: local-offset: 0, debug-info-variable: '', debug-info-expression: '',26# CHECK-NEXT: debug-info-location: '' }27# CHECK-NEXT: - { id: 1, name: '', type: default, offset: 28, size: 20, alignment: 4,28# CHECK-NEXT: stack-id: default, callee-saved-register: '', callee-saved-restored: true,29# CHECK-NEXT: local-offset: 0, debug-info-variable: '', debug-info-expression: '',30# CHECK-NEXT: debug-info-location: '' }31# CHECK-NEXT: - { id: 2, name: '', type: spill-slot, offset: 0, size: 16, alignment: 4,32# CHECK-NEXT: stack-id: default, callee-saved-register: '$vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47_vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63_vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71',33# CHECK-NEXT: callee-saved-restored: true, debug-info-variable: '', debug-info-expression: '',34# CHECK-NEXT: debug-info-location: '' }35# CHECK-NEXT: - { id: 3, name: '', type: default, offset: 48, size: 4, alignment: 4,36# CHECK-NEXT: stack-id: default, callee-saved-register: '', callee-saved-restored: true,37# CHECK-NEXT: debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }38# CHECK: machineFunctionInfo:39# CHECK: hasSpilledVGPRs: true40body: |41 bb.0:42 liveins: $sgpr30_sgpr31, $vgpr4843 SCRATCH_STORE_DWORD_SADDR $vgpr48, %stack.0, 0, 0, implicit $exec, implicit $flat_scr :: (store (s32) into %stack.0, addrspace 5)44 SCRATCH_STORE_DWORD_SADDR $vgpr48, %stack.1, 4, 0, implicit $exec, implicit $flat_scr :: (store (s32) into %stack.1, addrspace 5)45 S_NOP 0, implicit-def $vgpr40, implicit-def $vgpr4346 S_SETPC_B64_return $sgpr30_sgpr3147...48