brintos

brintos / llvm-project-archived public Read only

0
0
Text · 33.8 KiB · 4a0bb6c Raw
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