435 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -verify-regalloc -start-before=greedy,0 -stop-after=virtregrewriter,0 -greedy-regclass-priority-trumps-globalness=1 -o - %s | FileCheck %s3 4# The allocation would previously fail due to poor ordering based on5# register class. The super wide tuples should be allocated first so6# that we don't need to try to evict them later. Currently we cannot7# partially evict interfering register tuples.8 9---10name: need_large_tuple_split11alignment: 112tracksRegLiveness: true13registers:14 - { id: 0, class: sreg_64_xexec, preferred-register: '$vcc' }15 - { id: 1, class: sreg_64, preferred-register: '$vcc' }16 - { id: 2, class: sreg_64_xexec, preferred-register: '$vcc' }17 - { id: 3, class: sreg_64, preferred-register: '$vcc' }18 - { id: 4, class: sreg_64, preferred-register: '$vcc' }19 - { id: 5, class: sreg_64_xexec, preferred-register: '$vcc' }20 - { id: 6, class: sreg_64_xexec, preferred-register: '$vcc' }21 - { id: 7, class: sreg_64_xexec, preferred-register: '$vcc' }22 - { id: 8, class: sreg_64_xexec, preferred-register: '$vcc' }23 - { id: 9, class: sreg_64_xexec, preferred-register: '$vcc' }24 - { id: 10, class: sreg_64_xexec, preferred-register: '$vcc' }25frameInfo:26 maxAlignment: 127 adjustsStack: true28 hasCalls: true29machineFunctionInfo:30 maxKernArgAlign: 131 isEntryFunction: true32 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3'33 stackPtrOffsetReg: '$sgpr32'34 argumentInfo:35 privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }36 privateSegmentWaveByteOffset: { reg: '$sgpr17' }37 occupancy: 838body: |39 ; CHECK-LABEL: name: need_large_tuple_split40 ; CHECK: bb.0:41 ; CHECK-NEXT: successors: %bb.1(0x80000000)42 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr0, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9, $sgpr10_sgpr1143 ; CHECK-NEXT: {{ $}}44 ; CHECK-NEXT: renamable $sgpr18_sgpr19 = V_CMP_GT_I32_e64 1, undef %18:vgpr_32, implicit $exec45 ; CHECK-NEXT: renamable $sgpr12_sgpr13 = V_CMP_EQ_U32_e64 0, undef %18:vgpr_32, implicit $exec46 ; CHECK-NEXT: SI_SPILL_S64_SAVE killed renamable $sgpr12_sgpr13, %stack.2, implicit $exec, implicit $sgpr32 :: (store (s64) into %stack.2, align 4, addrspace 5)47 ; CHECK-NEXT: renamable $sgpr12_sgpr13 = V_CMP_NE_U32_e64 0, undef %18:vgpr_32, implicit $exec48 ; CHECK-NEXT: SI_SPILL_S64_SAVE killed renamable $sgpr12_sgpr13, %stack.3, implicit $exec, implicit $sgpr32 :: (store (s64) into %stack.3, align 4, addrspace 5)49 ; CHECK-NEXT: renamable $sgpr34_sgpr35 = V_CMP_GT_I32_e64 0, undef %18:vgpr_32, implicit $exec50 ; CHECK-NEXT: renamable $sgpr56 = S_MOV_B32 051 ; CHECK-NEXT: renamable $sgpr12_sgpr13 = V_CMP_EQ_U32_e64 undef $sgpr4, undef %18:vgpr_32, implicit $exec52 ; CHECK-NEXT: SI_SPILL_S64_SAVE killed renamable $sgpr12_sgpr13, %stack.4, implicit $exec, implicit $sgpr32 :: (store (s64) into %stack.4, align 4, addrspace 5)53 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vreg_1024_align2 = COPY renamable $sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr55_sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71, implicit $exec54 ; CHECK-NEXT: renamable $sgpr100_sgpr101 = V_CMP_NE_U32_e64 1, undef %18:vgpr_32, implicit $exec55 ; CHECK-NEXT: renamable $sgpr57 = S_MOV_B32 108378624056 ; CHECK-NEXT: SI_SPILL_S1024_SAVE renamable $sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr55_sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71, %stack.1, implicit $exec, implicit $sgpr32 :: (store (s1024) into %stack.1, align 4, addrspace 5)57 ; CHECK-NEXT: S_BRANCH %bb.158 ; CHECK-NEXT: {{ $}}59 ; CHECK-NEXT: bb.1:60 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.17(0x40000000)61 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr100_sgpr10162 ; CHECK-NEXT: {{ $}}63 ; CHECK-NEXT: $vcc = S_AND_B64 $exec, renamable $sgpr100_sgpr101, implicit-def dead $scc64 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vreg_1024_align2 = COPY [[COPY]]65 ; CHECK-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc66 ; CHECK-NEXT: S_BRANCH %bb.1767 ; CHECK-NEXT: {{ $}}68 ; CHECK-NEXT: bb.2:69 ; CHECK-NEXT: successors: %bb.11(0x40000000), %bb.5(0x40000000)70 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr100_sgpr10171 ; CHECK-NEXT: {{ $}}72 ; CHECK-NEXT: renamable $sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)73 ; CHECK-NEXT: renamable $sgpr40 = COPY renamable $sgpr7274 ; CHECK-NEXT: renamable $sgpr41 = COPY renamable $sgpr7275 ; CHECK-NEXT: renamable $sgpr42 = COPY renamable $sgpr7276 ; CHECK-NEXT: renamable $sgpr43 = COPY renamable $sgpr7277 ; CHECK-NEXT: renamable $sgpr44 = COPY renamable $sgpr7278 ; CHECK-NEXT: renamable $sgpr45 = COPY renamable $sgpr7279 ; CHECK-NEXT: renamable $sgpr46 = COPY renamable $sgpr7280 ; CHECK-NEXT: renamable $sgpr47 = COPY renamable $sgpr7281 ; CHECK-NEXT: renamable $sgpr48 = COPY renamable $sgpr7282 ; CHECK-NEXT: renamable $sgpr49 = COPY renamable $sgpr7283 ; CHECK-NEXT: renamable $sgpr50 = COPY renamable $sgpr7284 ; CHECK-NEXT: renamable $sgpr51 = COPY killed renamable $sgpr7285 ; CHECK-NEXT: renamable $sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr55 = COPY killed renamable $sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr5186 ; CHECK-NEXT: renamable $sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)87 ; CHECK-NEXT: renamable $sgpr56 = COPY killed renamable $sgpr7288 ; CHECK-NEXT: renamable $sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)89 ; CHECK-NEXT: renamable $sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51 = COPY killed renamable $sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr5590 ; CHECK-NEXT: renamable $sgpr52 = COPY renamable $sgpr5691 ; CHECK-NEXT: renamable $sgpr53 = COPY killed renamable $sgpr7692 ; CHECK-NEXT: renamable $sgpr56_sgpr57 = COPY renamable $sgpr52_sgpr5393 ; CHECK-NEXT: renamable $sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr55 = COPY killed renamable $sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr5194 ; CHECK-NEXT: renamable $sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)95 ; CHECK-NEXT: renamable $sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51 = COPY killed renamable $sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr5596 ; CHECK-NEXT: renamable $sgpr52_sgpr53 = COPY renamable $sgpr56_sgpr5797 ; CHECK-NEXT: renamable $sgpr54 = COPY killed renamable $sgpr7698 ; CHECK-NEXT: renamable $sgpr36_sgpr37_sgpr38_sgpr39_sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47 = COPY killed renamable $sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr5199 ; CHECK-NEXT: renamable $sgpr48_sgpr49_sgpr50 = COPY renamable $sgpr52_sgpr53_sgpr54100 ; CHECK-NEXT: renamable $sgpr52_sgpr53_sgpr54_sgpr55_sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)101 ; CHECK-NEXT: renamable $sgpr52_sgpr53_sgpr54 = COPY renamable $sgpr48_sgpr49_sgpr50102 ; CHECK-NEXT: renamable $sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51 = COPY killed renamable $sgpr36_sgpr37_sgpr38_sgpr39_sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47103 ; CHECK-NEXT: renamable $sgpr55 = COPY killed renamable $sgpr68104 ; CHECK-NEXT: renamable $sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)105 ; CHECK-NEXT: renamable $sgpr56 = COPY killed renamable $sgpr72106 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)107 ; CHECK-NEXT: renamable $sgpr57 = COPY killed renamable $sgpr84108 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)109 ; CHECK-NEXT: renamable $sgpr58 = COPY killed renamable $sgpr84110 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)111 ; CHECK-NEXT: renamable $sgpr59 = COPY killed renamable $sgpr84112 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)113 ; CHECK-NEXT: renamable $sgpr60 = COPY killed renamable $sgpr84114 ; CHECK-NEXT: renamable $sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)115 ; CHECK-NEXT: renamable $sgpr61 = COPY killed renamable $sgpr80116 ; CHECK-NEXT: renamable $sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)117 ; CHECK-NEXT: renamable $sgpr62 = COPY killed renamable $sgpr80118 ; CHECK-NEXT: renamable $sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)119 ; CHECK-NEXT: renamable $sgpr63 = COPY killed renamable $sgpr80120 ; CHECK-NEXT: renamable $sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)121 ; CHECK-NEXT: renamable $sgpr64 = COPY killed renamable $sgpr80122 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)123 ; CHECK-NEXT: renamable $sgpr65 = COPY killed renamable $sgpr84124 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)125 ; CHECK-NEXT: renamable $sgpr66 = COPY killed renamable $sgpr84126 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)127 ; CHECK-NEXT: renamable $sgpr67 = COPY killed renamable $sgpr84128 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)129 ; CHECK-NEXT: renamable $sgpr68 = COPY killed renamable $sgpr84130 ; CHECK-NEXT: renamable $sgpr36_sgpr37_sgpr38_sgpr39_sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51 = COPY killed renamable $sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr55131 ; CHECK-NEXT: renamable $sgpr52_sgpr53_sgpr54_sgpr55_sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63 = COPY renamable $sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67132 ; CHECK-NEXT: renamable $sgpr64 = COPY renamable $sgpr68133 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)134 ; CHECK-NEXT: renamable $sgpr65 = COPY killed renamable $sgpr84135 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)136 ; CHECK-NEXT: renamable $sgpr66 = COPY killed renamable $sgpr84137 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)138 ; CHECK-NEXT: renamable $sgpr67 = COPY killed renamable $sgpr84139 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vreg_1024_align2 = COPY killed renamable $sgpr36_sgpr37_sgpr38_sgpr39_sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr55_sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67, implicit $exec140 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.11, implicit $exec141 ; CHECK-NEXT: S_BRANCH %bb.5142 ; CHECK-NEXT: {{ $}}143 ; CHECK-NEXT: bb.3:144 ; CHECK-NEXT: successors: %bb.4(0x80000000)145 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16146 ; CHECK-NEXT: {{ $}}147 ; CHECK-NEXT: renamable $sgpr60 = COPY killed renamable $sgpr14148 ; CHECK-NEXT: renamable $sgpr62 = COPY killed renamable $sgpr15149 ; CHECK-NEXT: SI_SPILL_S32_SAVE killed renamable $sgpr16, %stack.0, implicit $exec, implicit $sgpr32 :: (store (s32) into %stack.0, addrspace 5)150 ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32151 ; CHECK-NEXT: dead $sgpr30_sgpr31 = SI_CALL undef renamable $sgpr4_sgpr5, 0, CustomRegMask($sgpr60,$sgpr62)152 ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32153 ; CHECK-NEXT: {{ $}}154 ; CHECK-NEXT: bb.4:155 ; CHECK-NEXT: successors: %bb.17(0x80000000)156 ; CHECK-NEXT: liveins: $sgpr60, $sgpr62157 ; CHECK-NEXT: {{ $}}158 ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32159 ; CHECK-NEXT: $sgpr12 = COPY killed renamable $sgpr60160 ; CHECK-NEXT: $sgpr13 = COPY killed renamable $sgpr62161 ; CHECK-NEXT: $sgpr14 = SI_SPILL_S32_RESTORE %stack.0, implicit $exec, implicit $sgpr32 :: (load (s32) from %stack.0, addrspace 5)162 ; CHECK-NEXT: dead $sgpr30_sgpr31 = SI_CALL undef renamable $sgpr4_sgpr5, 0, csr_amdgpu_noregs, implicit $sgpr12, implicit $sgpr13, implicit $sgpr14163 ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32164 ; CHECK-NEXT: S_BRANCH %bb.17165 ; CHECK-NEXT: {{ $}}166 ; CHECK-NEXT: bb.5:167 ; CHECK-NEXT: successors: %bb.12(0x40000000), %bb.6(0x40000000)168 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr100_sgpr101169 ; CHECK-NEXT: {{ $}}170 ; CHECK-NEXT: renamable $sgpr12_sgpr13 = SI_SPILL_S64_RESTORE %stack.3, implicit $exec, implicit $sgpr32 :: (load (s64) from %stack.3, align 4, addrspace 5)171 ; CHECK-NEXT: renamable $sgpr12_sgpr13 = S_AND_B64 killed renamable $sgpr12_sgpr13, undef renamable $sgpr54_sgpr55, implicit-def dead $scc172 ; CHECK-NEXT: renamable $sgpr54_sgpr55 = V_CMP_GT_I32_e64 0, undef %18:vgpr_32, implicit $exec173 ; CHECK-NEXT: $exec = S_MOV_B64_term killed renamable $sgpr12_sgpr13174 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.12, implicit $exec175 ; CHECK-NEXT: {{ $}}176 ; CHECK-NEXT: bb.6:177 ; CHECK-NEXT: successors: %bb.7(0x80000000)178 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr54_sgpr55, $sgpr100_sgpr101179 ; CHECK-NEXT: {{ $}}180 ; CHECK-NEXT: dead [[V_CNDMASK_B32_e64_:%[0-9]+]]:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, $sgpr34_sgpr35, implicit $exec181 ; CHECK-NEXT: {{ $}}182 ; CHECK-NEXT: bb.7:183 ; CHECK-NEXT: successors: %bb.8(0x80000000)184 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr54_sgpr55, $sgpr100_sgpr101185 ; CHECK-NEXT: {{ $}}186 ; CHECK-NEXT: renamable $sgpr64_sgpr65 = nofpexcept V_CMP_NLT_F64_e64 0, undef $sgpr4_sgpr5, 0, undef %29:vreg_64_align2, 0, implicit $mode, implicit $exec187 ; CHECK-NEXT: renamable $sgpr66_sgpr67 = nofpexcept V_CMP_NLT_F64_e64 0, 4607182418800017408, 0, undef %29:vreg_64_align2, 0, implicit $mode, implicit $exec188 ; CHECK-NEXT: dead [[V_INDIRECT_REG_READ_GPR_IDX_B32_V32_:%[0-9]+]]:vgpr_32 = V_INDIRECT_REG_READ_GPR_IDX_B32_V32 [[COPY1]], undef $sgpr14, 11, implicit-def $m0, implicit $m0, implicit $exec189 ; CHECK-NEXT: {{ $}}190 ; CHECK-NEXT: bb.8:191 ; CHECK-NEXT: successors: %bb.10(0x40000000), %bb.9(0x40000000)192 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr54_sgpr55, $sgpr64_sgpr65, $sgpr66_sgpr67, $sgpr100_sgpr101193 ; CHECK-NEXT: {{ $}}194 ; CHECK-NEXT: $vcc = S_AND_B64 $exec, renamable $sgpr64_sgpr65, implicit-def dead $scc195 ; CHECK-NEXT: S_CBRANCH_VCCNZ %bb.10, implicit $vcc196 ; CHECK-NEXT: {{ $}}197 ; CHECK-NEXT: bb.9:198 ; CHECK-NEXT: successors: %bb.10(0x40000000), %bb.17(0x40000000)199 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr54_sgpr55, $sgpr64_sgpr65, $sgpr66_sgpr67, $sgpr100_sgpr101200 ; CHECK-NEXT: {{ $}}201 ; CHECK-NEXT: renamable $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99 = SI_SPILL_S1024_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load (s1024) from %stack.1, align 4, addrspace 5)202 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vreg_64_align2 = COPY killed renamable $sgpr84_sgpr85, implicit $exec203 ; CHECK-NEXT: GLOBAL_STORE_DWORDX2_SADDR undef %18:vgpr_32, [[COPY2]], undef renamable $sgpr4_sgpr5, 0, 0, implicit $exec :: (store (s64), addrspace 1)204 ; CHECK-NEXT: [[V_CNDMASK_B32_e64_1:%[0-9]+]]:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, $sgpr18_sgpr19, implicit $exec205 ; CHECK-NEXT: dead renamable $sgpr12_sgpr13 = V_CMP_NE_U32_e64 1, [[V_CNDMASK_B32_e64_1]], implicit $exec206 ; CHECK-NEXT: renamable $sgpr82 = S_ADD_U32 renamable $sgpr8, 32, implicit-def dead $scc207 ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32208 ; CHECK-NEXT: renamable $sgpr68_sgpr69 = COPY killed renamable $sgpr4_sgpr5209 ; CHECK-NEXT: $sgpr4_sgpr5 = COPY renamable $sgpr68_sgpr69210 ; CHECK-NEXT: renamable $sgpr70_sgpr71 = COPY killed renamable $sgpr6_sgpr7211 ; CHECK-NEXT: $sgpr6_sgpr7 = COPY renamable $sgpr70_sgpr71212 ; CHECK-NEXT: renamable $sgpr80_sgpr81 = COPY killed renamable $sgpr10_sgpr11213 ; CHECK-NEXT: $sgpr10_sgpr11 = COPY renamable $sgpr80_sgpr81214 ; CHECK-NEXT: $sgpr12 = COPY renamable $sgpr14215 ; CHECK-NEXT: $sgpr13 = COPY renamable $sgpr15216 ; CHECK-NEXT: renamable $sgpr84 = COPY killed renamable $sgpr8217 ; CHECK-NEXT: renamable $sgpr33 = COPY killed renamable $sgpr16218 ; CHECK-NEXT: renamable $sgpr83 = COPY killed renamable $sgpr15219 ; CHECK-NEXT: renamable $sgpr85 = COPY killed renamable $sgpr14220 ; CHECK-NEXT: renamable $sgpr48_sgpr49 = COPY killed renamable $sgpr18_sgpr19221 ; CHECK-NEXT: dead $sgpr30_sgpr31 = SI_CALL undef renamable $sgpr12_sgpr13, 0, csr_amdgpu_gfx90ainsts, implicit $sgpr4_sgpr5, implicit $sgpr6_sgpr7, implicit $sgpr10_sgpr11, implicit $sgpr12, implicit $sgpr13222 ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32223 ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32224 ; CHECK-NEXT: $sgpr8_sgpr9 = COPY renamable $sgpr82_sgpr83225 ; CHECK-NEXT: dead $sgpr30_sgpr31 = SI_CALL undef renamable $sgpr12_sgpr13, 0, csr_amdgpu_gfx90ainsts, implicit $sgpr8_sgpr9226 ; CHECK-NEXT: renamable $sgpr18_sgpr19 = COPY killed renamable $sgpr48_sgpr49227 ; CHECK-NEXT: renamable $sgpr14 = COPY killed renamable $sgpr85228 ; CHECK-NEXT: renamable $sgpr15 = COPY killed renamable $sgpr83229 ; CHECK-NEXT: renamable $sgpr16 = COPY killed renamable $sgpr33230 ; CHECK-NEXT: renamable $sgpr4_sgpr5 = COPY killed renamable $sgpr68_sgpr69231 ; CHECK-NEXT: renamable $sgpr6_sgpr7 = COPY killed renamable $sgpr70_sgpr71232 ; CHECK-NEXT: renamable $sgpr8 = COPY killed renamable $sgpr84233 ; CHECK-NEXT: renamable $sgpr10_sgpr11 = COPY killed renamable $sgpr80_sgpr81234 ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32235 ; CHECK-NEXT: $exec = S_MOV_B64_term renamable $sgpr66_sgpr67236 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.10, implicit $exec237 ; CHECK-NEXT: S_BRANCH %bb.17238 ; CHECK-NEXT: {{ $}}239 ; CHECK-NEXT: bb.10:240 ; CHECK-NEXT: successors: %bb.8(0x40000000), %bb.12(0x40000000)241 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr54_sgpr55, $sgpr64_sgpr65, $sgpr66_sgpr67, $sgpr100_sgpr101242 ; CHECK-NEXT: {{ $}}243 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.8, implicit $exec244 ; CHECK-NEXT: S_BRANCH %bb.12245 ; CHECK-NEXT: {{ $}}246 ; CHECK-NEXT: bb.11:247 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.17(0x40000000)248 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr100_sgpr101249 ; CHECK-NEXT: {{ $}}250 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.1, implicit $exec251 ; CHECK-NEXT: S_BRANCH %bb.17252 ; CHECK-NEXT: {{ $}}253 ; CHECK-NEXT: bb.12:254 ; CHECK-NEXT: successors: %bb.11(0x40000000), %bb.13(0x40000000)255 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr54_sgpr55, $sgpr100_sgpr101256 ; CHECK-NEXT: {{ $}}257 ; CHECK-NEXT: $exec = S_MOV_B64_term killed renamable $sgpr54_sgpr55258 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.11, implicit $exec259 ; CHECK-NEXT: {{ $}}260 ; CHECK-NEXT: bb.13:261 ; CHECK-NEXT: successors: %bb.15(0x40000000), %bb.14(0x40000000)262 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr100_sgpr101263 ; CHECK-NEXT: {{ $}}264 ; CHECK-NEXT: renamable $sgpr12_sgpr13 = SI_SPILL_S64_RESTORE %stack.4, implicit $exec, implicit $sgpr32 :: (load (s64) from %stack.4, align 4, addrspace 5)265 ; CHECK-NEXT: $vcc = S_AND_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def dead $scc266 ; CHECK-NEXT: S_CBRANCH_VCCNZ %bb.15, implicit $vcc267 ; CHECK-NEXT: S_BRANCH %bb.14268 ; CHECK-NEXT: {{ $}}269 ; CHECK-NEXT: bb.14:270 ; CHECK-NEXT: successors: %bb.15(0x80000000)271 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr100_sgpr101272 ; CHECK-NEXT: {{ $}}273 ; CHECK-NEXT: bb.15:274 ; CHECK-NEXT: successors: %bb.11(0x40000000), %bb.16(0x40000000)275 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x0000000000000003, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr100_sgpr101276 ; CHECK-NEXT: {{ $}}277 ; CHECK-NEXT: renamable $sgpr12_sgpr13 = SI_SPILL_S64_RESTORE %stack.2, implicit $exec, implicit $sgpr32 :: (load (s64) from %stack.2, align 4, addrspace 5)278 ; CHECK-NEXT: $vcc = S_AND_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def dead $scc279 ; CHECK-NEXT: S_CBRANCH_VCCNZ %bb.11, implicit $vcc280 ; CHECK-NEXT: {{ $}}281 ; CHECK-NEXT: bb.16:282 ; CHECK-NEXT: successors: %bb.3(0x40000000), %bb.17(0x40000000)283 ; CHECK-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16284 ; CHECK-NEXT: {{ $}}285 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.3, implicit $exec286 ; CHECK-NEXT: {{ $}}287 ; CHECK-NEXT: bb.17:288 bb.0:289 liveins: $vgpr0, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9, $sgpr10_sgpr11, $sgpr14, $sgpr15, $sgpr16290 291 %11:sgpr_32 = COPY $sgpr16292 %12:sgpr_32 = COPY $sgpr15293 %13:sgpr_32 = COPY $sgpr14294 %14:sgpr_64 = COPY $sgpr10_sgpr11295 %15:sgpr_64 = COPY $sgpr8_sgpr9296 %16:sgpr_64 = COPY $sgpr6_sgpr7297 %17:sgpr_64 = COPY $sgpr4_sgpr5298 %5:sreg_64_xexec = V_CMP_GT_I32_e64 1, undef %18:vgpr_32, implicit $exec299 %6:sreg_64_xexec = V_CMP_EQ_U32_e64 0, undef %18:vgpr_32, implicit $exec300 %7:sreg_64_xexec = V_CMP_NE_U32_e64 0, undef %18:vgpr_32, implicit $exec301 %8:sreg_64_xexec = V_CMP_GT_I32_e64 0, undef %18:vgpr_32, implicit $exec302 undef %19.sub16:sgpr_1024 = S_MOV_B32 0303 %9:sreg_64_xexec = V_CMP_EQ_U32_e64 undef %20:sreg_32_xm0_xexec, undef %18:vgpr_32, implicit $exec304 %21:vreg_1024_align2 = COPY %19, implicit $exec305 %10:sreg_64_xexec = V_CMP_NE_U32_e64 1, undef %18:vgpr_32, implicit $exec306 %19.sub17:sgpr_1024 = S_MOV_B32 1083786240307 S_BRANCH %bb.1308 309 bb.1:310 $vcc = S_AND_B64 $exec, %10, implicit-def dead $scc311 %22:vreg_1024_align2 = COPY %21312 S_CBRANCH_VCCNZ %bb.2, implicit $vcc313 S_BRANCH %bb.17314 315 bb.2:316 undef %23.sub0:sgpr_1024 = COPY %19.sub16317 %23.sub1:sgpr_1024 = COPY %19.sub16318 %23.sub2:sgpr_1024 = COPY %19.sub16319 %23.sub3:sgpr_1024 = COPY %19.sub16320 %23.sub4:sgpr_1024 = COPY %19.sub16321 %23.sub5:sgpr_1024 = COPY %19.sub16322 %23.sub6:sgpr_1024 = COPY %19.sub16323 %23.sub7:sgpr_1024 = COPY %19.sub16324 %23.sub8:sgpr_1024 = COPY %19.sub16325 %23.sub9:sgpr_1024 = COPY %19.sub16326 %23.sub10:sgpr_1024 = COPY %19.sub16327 %23.sub11:sgpr_1024 = COPY %19.sub16328 %23.sub12:sgpr_1024 = COPY %19.sub16329 %23.sub13:sgpr_1024 = COPY %19.sub16330 %23.sub14:sgpr_1024 = COPY %19.sub16331 %23.sub15:sgpr_1024 = COPY %19.sub16332 %23.sub16:sgpr_1024 = COPY %19.sub16333 %23.sub17:sgpr_1024 = COPY %19.sub16334 %23.sub18:sgpr_1024 = COPY %19.sub16335 %23.sub19:sgpr_1024 = COPY %19.sub16336 %23.sub20:sgpr_1024 = COPY %19.sub16337 %23.sub21:sgpr_1024 = COPY %19.sub16338 %23.sub22:sgpr_1024 = COPY %19.sub16339 %23.sub23:sgpr_1024 = COPY %19.sub16340 %23.sub24:sgpr_1024 = COPY %19.sub16341 %23.sub25:sgpr_1024 = COPY %19.sub16342 %23.sub26:sgpr_1024 = COPY %19.sub16343 %23.sub27:sgpr_1024 = COPY %19.sub16344 %23.sub28:sgpr_1024 = COPY %19.sub16345 %23.sub29:sgpr_1024 = COPY %19.sub16346 %23.sub30:sgpr_1024 = COPY %19.sub16347 %23.sub31:sgpr_1024 = COPY %19.sub16348 %21:vreg_1024_align2 = COPY %23, implicit $exec349 S_CBRANCH_EXECZ %bb.11, implicit $exec350 S_BRANCH %bb.5351 352 bb.3:353 ADJCALLSTACKUP 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32354 dead $sgpr30_sgpr31 = SI_CALL undef %24:sreg_64_xexec_xnull, 0, CustomRegMask($sgpr60,$sgpr62)355 ADJCALLSTACKDOWN 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32356 357 bb.4:358 ADJCALLSTACKUP 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32359 $sgpr12 = COPY %13360 $sgpr13 = COPY %12361 $sgpr14 = COPY %11362 dead $sgpr30_sgpr31 = SI_CALL undef %25:sreg_64, 0, csr_amdgpu_noregs, implicit killed $sgpr12, implicit killed $sgpr13, implicit $sgpr14363 ADJCALLSTACKDOWN 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32364 S_BRANCH %bb.17365 366 bb.5:367 %26:sreg_64 = S_AND_B64 %7, undef %3, implicit-def dead $scc368 %3:sreg_64 = V_CMP_GT_I32_e64 0, undef %18:vgpr_32, implicit $exec369 $exec = S_MOV_B64_term %26370 S_CBRANCH_EXECZ %bb.12, implicit $exec371 372 bb.6:373 dead %27:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %8, implicit $exec374 375 bb.7:376 %0:sreg_64_xexec = nofpexcept V_CMP_NLT_F64_e64 0, undef %28:sreg_64, 0, undef %29:vreg_64_align2, 0, implicit $mode, implicit $exec377 %1:sreg_64 = nofpexcept V_CMP_NLT_F64_e64 0, 4607182418800017408, 0, undef %29:vreg_64_align2, 0, implicit $mode, implicit $exec378 dead %30:vgpr_32 = V_INDIRECT_REG_READ_GPR_IDX_B32_V32 %22, undef %13, 11, implicit-def $m0, implicit $m0, implicit $exec379 380 bb.8:381 $vcc = S_AND_B64 $exec, %0, implicit-def dead $scc382 S_CBRANCH_VCCNZ %bb.10, implicit $vcc383 384 bb.9:385 %31:vreg_64_align2 = COPY %19.sub16_sub17, implicit $exec386 GLOBAL_STORE_DWORDX2_SADDR undef %18:vgpr_32, %31, undef %24:sreg_64_xexec_xnull, 0, 0, implicit $exec :: (store (s64), addrspace 1)387 %32:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %5, implicit $exec388 dead %33:sreg_64_xexec = V_CMP_NE_U32_e64 1, %32, implicit $exec389 undef %34.sub0:sreg_64 = S_ADD_U32 %15.sub0, 32, implicit-def dead $scc390 ADJCALLSTACKUP 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32391 $sgpr4_sgpr5 = COPY %17392 $sgpr6_sgpr7 = COPY %16393 $sgpr10_sgpr11 = COPY %14394 $sgpr12 = COPY %13395 $sgpr13 = COPY %12396 dead $sgpr30_sgpr31 = SI_CALL undef %33, 0, csr_amdgpu_gfx90ainsts, implicit $sgpr4_sgpr5, implicit $sgpr6_sgpr7, implicit $sgpr10_sgpr11, implicit killed $sgpr12, implicit killed $sgpr13397 ADJCALLSTACKDOWN 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32398 ADJCALLSTACKUP 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32399 $sgpr8_sgpr9 = COPY %34400 dead $sgpr30_sgpr31 = SI_CALL undef %33, 0, csr_amdgpu_gfx90ainsts, implicit $sgpr8_sgpr9401 ADJCALLSTACKDOWN 0, 0, implicit-def dead $scc, implicit-def $sgpr32, implicit $sgpr32402 $exec = S_MOV_B64_term %1403 S_CBRANCH_EXECZ %bb.10, implicit $exec404 S_BRANCH %bb.17405 406 bb.10:407 S_CBRANCH_EXECZ %bb.8, implicit $exec408 S_BRANCH %bb.12409 410 bb.11:411 S_CBRANCH_EXECZ %bb.1, implicit $exec412 S_BRANCH %bb.17413 414 bb.12:415 $exec = S_MOV_B64_term %3416 S_CBRANCH_EXECZ %bb.11, implicit $exec417 418 bb.13:419 $vcc = S_AND_B64 $exec, %9, implicit-def dead $scc420 S_CBRANCH_VCCNZ %bb.15, implicit $vcc421 S_BRANCH %bb.14422 423 bb.14:424 425 bb.15:426 $vcc = S_AND_B64 $exec, %6, implicit-def dead $scc427 S_CBRANCH_VCCNZ %bb.11, implicit $vcc428 429 bb.16:430 S_CBRANCH_EXECZ %bb.3, implicit $exec431 432 bb.17:433 434...435