1*acb7859fSJeffrey Byrnes# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 3 2*acb7859fSJeffrey Byrnes# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 --sink-insts-to-avoid-spills=1 --stop-after=machine-sink -o - %s | FileCheck -check-prefixes=GFX9-SUNK %s 3*acb7859fSJeffrey Byrnes# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1031 --sink-insts-to-avoid-spills=1 -mattr=+wavefrontsize64 --stop-after=machine-sink -o - %s | FileCheck -check-prefixes=GFX10-SUNK %s 4*acb7859fSJeffrey Byrnes 5*acb7859fSJeffrey Byrnes--- 6*acb7859fSJeffrey Byrnesname: test_sink_copy 7*acb7859fSJeffrey Byrnesalignment: 1 8*acb7859fSJeffrey ByrnestracksRegLiveness: true 9*acb7859fSJeffrey ByrnesmachineFunctionInfo: 10*acb7859fSJeffrey Byrnes isEntryFunction: true 11*acb7859fSJeffrey Byrnesbody: | 12*acb7859fSJeffrey Byrnes ; GFX9-SUNK-LABEL: name: test_sink_copy 13*acb7859fSJeffrey Byrnes ; GFX9-SUNK: bb.0: 14*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x80000000) 15*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 16*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 17*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 18*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 19*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 20*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 21*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.1 22*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 23*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.1: 24*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 25*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 26*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 27*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.3 28*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 29*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.2: 30*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 31*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 32*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 33*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY1:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 34*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY2:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 35*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY3:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 36*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY4:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 37*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 38*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY]], implicit [[COPY1]], implicit [[COPY2]], implicit [[COPY3]], implicit [[COPY4]] 39*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 40*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 41*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.3: 42*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 43*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 44*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY5:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 45*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY6:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 46*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY7:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 47*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY8:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 48*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY9:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 49*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 50*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY5]], implicit [[COPY6]], implicit [[COPY7]], implicit [[COPY8]], implicit [[COPY9]] 51*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 52*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 53*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.4: 54*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 55*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 56*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 57*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.5 58*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 59*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.5: 60*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_ENDPGM 0 61*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 62*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.6.entry: 63*acb7859fSJeffrey Byrnes ; 64*acb7859fSJeffrey Byrnes ; GFX10-SUNK-LABEL: name: test_sink_copy 65*acb7859fSJeffrey Byrnes ; GFX10-SUNK: bb.0: 66*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x80000000) 67*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 68*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 69*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 70*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 71*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 72*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 73*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.1 74*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 75*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.1: 76*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 77*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 78*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 79*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.3 80*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 81*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.2: 82*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 83*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 84*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 85*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY1:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 86*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY2:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 87*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY3:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 88*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY4:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 89*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 90*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY]], implicit [[COPY1]], implicit [[COPY2]], implicit [[COPY3]], implicit [[COPY4]] 91*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 92*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 93*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.3: 94*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 95*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 96*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY5:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 97*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY6:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 98*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY7:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 99*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY8:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 100*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY9:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 101*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 102*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY5]], implicit [[COPY6]], implicit [[COPY7]], implicit [[COPY8]], implicit [[COPY9]] 103*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 104*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 105*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.4: 106*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 107*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 108*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 109*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.5 110*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 111*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.5: 112*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_ENDPGM 0 113*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 114*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.6.entry: 115*acb7859fSJeffrey Byrnes bb.0: 116*acb7859fSJeffrey Byrnes %0:vreg_256 = IMPLICIT_DEF 117*acb7859fSJeffrey Byrnes %1:vreg_256 = IMPLICIT_DEF 118*acb7859fSJeffrey Byrnes %2:vreg_256 = IMPLICIT_DEF 119*acb7859fSJeffrey Byrnes %3:vreg_256 = IMPLICIT_DEF 120*acb7859fSJeffrey Byrnes %4:vreg_256 = IMPLICIT_DEF 121*acb7859fSJeffrey Byrnes %5:vreg_256 = COPY %4 122*acb7859fSJeffrey Byrnes %6:vreg_256 = COPY %4 123*acb7859fSJeffrey Byrnes %7:vreg_256 = COPY %4 124*acb7859fSJeffrey Byrnes %8:vreg_256 = COPY %4 125*acb7859fSJeffrey Byrnes %9:vreg_256 = COPY %4 126*acb7859fSJeffrey Byrnes 127*acb7859fSJeffrey Byrnes 128*acb7859fSJeffrey Byrnes S_BRANCH %bb.1 129*acb7859fSJeffrey Byrnes 130*acb7859fSJeffrey Byrnes bb.1: 131*acb7859fSJeffrey Byrnes S_CBRANCH_EXECZ %bb.2, implicit $exec 132*acb7859fSJeffrey Byrnes S_BRANCH %bb.3 133*acb7859fSJeffrey Byrnes 134*acb7859fSJeffrey Byrnes bb.2: 135*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 136*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9 137*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 138*acb7859fSJeffrey Byrnes 139*acb7859fSJeffrey Byrnes bb.3: 140*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 141*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9 142*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 143*acb7859fSJeffrey Byrnes 144*acb7859fSJeffrey Byrnes bb.4: 145*acb7859fSJeffrey Byrnes S_CBRANCH_SCC1 %bb.1, implicit undef $scc 146*acb7859fSJeffrey Byrnes S_BRANCH %bb.5 147*acb7859fSJeffrey Byrnes 148*acb7859fSJeffrey Byrnes bb.5: 149*acb7859fSJeffrey Byrnes S_ENDPGM 0 150*acb7859fSJeffrey Byrnes... 151*acb7859fSJeffrey Byrnes 152*acb7859fSJeffrey Byrnes# For gfx9, after sinking the copies, pressure is within the desired limit 153*acb7859fSJeffrey Byrnes 154*acb7859fSJeffrey Byrnes--- 155*acb7859fSJeffrey Byrnesname: test_sink_multi_stage 156*acb7859fSJeffrey Byrnesalignment: 1 157*acb7859fSJeffrey ByrnestracksRegLiveness: true 158*acb7859fSJeffrey ByrnesmachineFunctionInfo: 159*acb7859fSJeffrey Byrnes isEntryFunction: true 160*acb7859fSJeffrey Byrnesbody: | 161*acb7859fSJeffrey Byrnes ; GFX9-SUNK-LABEL: name: test_sink_multi_stage 162*acb7859fSJeffrey Byrnes ; GFX9-SUNK: bb.0: 163*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x80000000) 164*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 165*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 166*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 167*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 168*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 169*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 170*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 171*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 172*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 173*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 174*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 175*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.1 176*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 177*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.1: 178*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 179*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 180*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 181*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.3 182*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 183*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.2: 184*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 185*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 186*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 187*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY1:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 188*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY2:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 189*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY3:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 190*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY4:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 191*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 192*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY]], implicit [[COPY1]], implicit [[COPY2]], implicit [[COPY3]], implicit [[COPY4]] 193*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]] 194*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 195*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 196*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.3: 197*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 198*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 199*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY5:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 200*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY6:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 201*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY7:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 202*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY8:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 203*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[COPY9:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]] 204*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 205*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY5]], implicit [[COPY6]], implicit [[COPY7]], implicit [[COPY8]], implicit [[COPY9]] 206*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]] 207*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 208*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 209*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.4: 210*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 211*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 212*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 213*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.5 214*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 215*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.5: 216*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_ENDPGM 0 217*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 218*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.6.entry: 219*acb7859fSJeffrey Byrnes ; 220*acb7859fSJeffrey Byrnes ; GFX10-SUNK-LABEL: name: test_sink_multi_stage 221*acb7859fSJeffrey Byrnes ; GFX10-SUNK: bb.0: 222*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x80000000) 223*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 224*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 225*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 226*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 227*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 228*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 229*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.1 230*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 231*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.1: 232*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 233*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 234*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 235*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.3 236*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 237*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.2: 238*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 239*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 240*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 241*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 242*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 243*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 244*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 245*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 246*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY1:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 247*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY2:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 248*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY3:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 249*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY4:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 250*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 251*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY]], implicit [[COPY1]], implicit [[COPY2]], implicit [[COPY3]], implicit [[COPY4]] 252*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]] 253*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 254*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 255*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.3: 256*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 257*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 258*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 259*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 260*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 261*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 262*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 263*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY5:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 264*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY6:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 265*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY7:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 266*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY8:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 267*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[COPY9:%[0-9]+]]:vreg_256 = COPY [[DEF4]] 268*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 269*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY5]], implicit [[COPY6]], implicit [[COPY7]], implicit [[COPY8]], implicit [[COPY9]] 270*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]] 271*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 272*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 273*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.4: 274*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 275*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 276*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 277*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.5 278*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 279*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.5: 280*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_ENDPGM 0 281*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 282*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.6.entry: 283*acb7859fSJeffrey Byrnes bb.0: 284*acb7859fSJeffrey Byrnes %0:vreg_256 = IMPLICIT_DEF 285*acb7859fSJeffrey Byrnes %1:vreg_256 = IMPLICIT_DEF 286*acb7859fSJeffrey Byrnes %2:vreg_256 = IMPLICIT_DEF 287*acb7859fSJeffrey Byrnes %3:vreg_256 = IMPLICIT_DEF 288*acb7859fSJeffrey Byrnes %4:vreg_256 = IMPLICIT_DEF 289*acb7859fSJeffrey Byrnes %5:vreg_256 = COPY %4 290*acb7859fSJeffrey Byrnes %6:vreg_256 = COPY %4 291*acb7859fSJeffrey Byrnes %7:vreg_256 = COPY %4 292*acb7859fSJeffrey Byrnes %8:vreg_256 = COPY %4 293*acb7859fSJeffrey Byrnes %9:vreg_256 = COPY %4 294*acb7859fSJeffrey Byrnes %10:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 295*acb7859fSJeffrey Byrnes %11:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 296*acb7859fSJeffrey Byrnes %12:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 297*acb7859fSJeffrey Byrnes %13:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 298*acb7859fSJeffrey Byrnes %14:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 299*acb7859fSJeffrey Byrnes S_BRANCH %bb.1 300*acb7859fSJeffrey Byrnes 301*acb7859fSJeffrey Byrnes bb.1: 302*acb7859fSJeffrey Byrnes S_CBRANCH_EXECZ %bb.2, implicit $exec 303*acb7859fSJeffrey Byrnes S_BRANCH %bb.3 304*acb7859fSJeffrey Byrnes 305*acb7859fSJeffrey Byrnes bb.2: 306*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 307*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9 308*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14 309*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 310*acb7859fSJeffrey Byrnes 311*acb7859fSJeffrey Byrnes bb.3: 312*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 313*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9 314*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14 315*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 316*acb7859fSJeffrey Byrnes 317*acb7859fSJeffrey Byrnes bb.4: 318*acb7859fSJeffrey Byrnes S_CBRANCH_SCC1 %bb.1, implicit undef $scc 319*acb7859fSJeffrey Byrnes S_BRANCH %bb.5 320*acb7859fSJeffrey Byrnes 321*acb7859fSJeffrey Byrnes bb.5: 322*acb7859fSJeffrey Byrnes S_ENDPGM 0 323*acb7859fSJeffrey Byrnes... 324*acb7859fSJeffrey Byrnes 325*acb7859fSJeffrey Byrnes--- 326*acb7859fSJeffrey Byrnesname: test_sink_low_rp 327*acb7859fSJeffrey Byrnesalignment: 1 328*acb7859fSJeffrey ByrnestracksRegLiveness: true 329*acb7859fSJeffrey ByrnesmachineFunctionInfo: 330*acb7859fSJeffrey Byrnes isEntryFunction: true 331*acb7859fSJeffrey Byrnesbody: | 332*acb7859fSJeffrey Byrnes ; GFX9-SUNK-LABEL: name: test_sink_low_rp 333*acb7859fSJeffrey Byrnes ; GFX9-SUNK: bb.0: 334*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x80000000) 335*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 336*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 337*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 338*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 339*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 340*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 341*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 342*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 343*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 344*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 345*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 346*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 347*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 348*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 349*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 350*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 351*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 352*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 353*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 354*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 355*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 356*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 357*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 358*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 359*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 360*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 361*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 362*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.1 363*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 364*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.1: 365*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 366*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 367*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 368*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.3 369*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 370*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.2: 371*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 372*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 373*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 374*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]] 375*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 376*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 377*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.3: 378*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 379*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 380*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 381*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]] 382*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 383*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 384*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.4: 385*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 386*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 387*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 388*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.5 389*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 390*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.5: 391*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_ENDPGM 0 392*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 393*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.6.entry: 394*acb7859fSJeffrey Byrnes ; 395*acb7859fSJeffrey Byrnes ; GFX10-SUNK-LABEL: name: test_sink_low_rp 396*acb7859fSJeffrey Byrnes ; GFX10-SUNK: bb.0: 397*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x80000000) 398*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 399*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 400*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 401*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 402*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 403*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 404*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.1 405*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 406*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.1: 407*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 408*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 409*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 410*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.3 411*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 412*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.2: 413*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 414*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 415*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 416*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 417*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 418*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 419*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 420*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 421*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 422*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 423*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 424*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 425*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 426*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 427*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 428*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 429*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 430*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 431*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 432*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 433*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 434*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 435*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 436*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 437*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]] 438*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 439*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 440*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.3: 441*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 442*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 443*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 444*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 445*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 446*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 447*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 448*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 449*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_27:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 450*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_28:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 451*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_29:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 452*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_30:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 453*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_31:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 454*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_32:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 455*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_33:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 456*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_34:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 457*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_35:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 458*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_36:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 459*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_37:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 460*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_38:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 461*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_39:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 462*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_40:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 463*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_41:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 464*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 465*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]], implicit [[V_ADD_U32_e64_27]], implicit [[V_ADD_U32_e64_28]], implicit [[V_ADD_U32_e64_29]], implicit [[V_ADD_U32_e64_30]], implicit [[V_ADD_U32_e64_31]], implicit [[V_ADD_U32_e64_32]], implicit [[V_ADD_U32_e64_33]], implicit [[V_ADD_U32_e64_34]], implicit [[V_ADD_U32_e64_35]], implicit [[V_ADD_U32_e64_36]], implicit [[V_ADD_U32_e64_37]], implicit [[V_ADD_U32_e64_38]], implicit [[V_ADD_U32_e64_39]], implicit [[V_ADD_U32_e64_40]], implicit [[V_ADD_U32_e64_41]] 466*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 467*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 468*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.4: 469*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 470*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 471*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 472*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.5 473*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 474*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.5: 475*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_ENDPGM 0 476*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 477*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.6.entry: 478*acb7859fSJeffrey Byrnes bb.0: 479*acb7859fSJeffrey Byrnes %0:vreg_256 = IMPLICIT_DEF 480*acb7859fSJeffrey Byrnes %1:vreg_256 = IMPLICIT_DEF 481*acb7859fSJeffrey Byrnes %2:vreg_256 = IMPLICIT_DEF 482*acb7859fSJeffrey Byrnes %3:vreg_256 = IMPLICIT_DEF 483*acb7859fSJeffrey Byrnes %4:vreg_256 = IMPLICIT_DEF 484*acb7859fSJeffrey Byrnes %5:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 485*acb7859fSJeffrey Byrnes %6:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 486*acb7859fSJeffrey Byrnes %7:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 487*acb7859fSJeffrey Byrnes %8:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 488*acb7859fSJeffrey Byrnes %9:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 489*acb7859fSJeffrey Byrnes %10:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 490*acb7859fSJeffrey Byrnes %11:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 491*acb7859fSJeffrey Byrnes %12:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 492*acb7859fSJeffrey Byrnes %13:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 493*acb7859fSJeffrey Byrnes %14:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 494*acb7859fSJeffrey Byrnes %15:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 495*acb7859fSJeffrey Byrnes %16:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 496*acb7859fSJeffrey Byrnes %17:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 497*acb7859fSJeffrey Byrnes %18:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 498*acb7859fSJeffrey Byrnes %19:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 499*acb7859fSJeffrey Byrnes %20:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 500*acb7859fSJeffrey Byrnes %21:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 501*acb7859fSJeffrey Byrnes %22:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 502*acb7859fSJeffrey Byrnes %23:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 503*acb7859fSJeffrey Byrnes %24:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 504*acb7859fSJeffrey Byrnes %25:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 505*acb7859fSJeffrey Byrnes 506*acb7859fSJeffrey Byrnes S_BRANCH %bb.1 507*acb7859fSJeffrey Byrnes 508*acb7859fSJeffrey Byrnes bb.1: 509*acb7859fSJeffrey Byrnes S_CBRANCH_EXECZ %bb.2, implicit $exec 510*acb7859fSJeffrey Byrnes S_BRANCH %bb.3 511*acb7859fSJeffrey Byrnes 512*acb7859fSJeffrey Byrnes bb.2: 513*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 514*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25 515*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 516*acb7859fSJeffrey Byrnes 517*acb7859fSJeffrey Byrnes bb.3: 518*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 519*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25 520*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 521*acb7859fSJeffrey Byrnes 522*acb7859fSJeffrey Byrnes bb.4: 523*acb7859fSJeffrey Byrnes S_CBRANCH_SCC1 %bb.1, implicit undef $scc 524*acb7859fSJeffrey Byrnes S_BRANCH %bb.5 525*acb7859fSJeffrey Byrnes 526*acb7859fSJeffrey Byrnes bb.5: 527*acb7859fSJeffrey Byrnes S_ENDPGM 0 528*acb7859fSJeffrey Byrnes... 529*acb7859fSJeffrey Byrnes 530*acb7859fSJeffrey Byrnes--- 531*acb7859fSJeffrey Byrnesname: test_sink_high_rp 532*acb7859fSJeffrey Byrnesalignment: 1 533*acb7859fSJeffrey ByrnestracksRegLiveness: true 534*acb7859fSJeffrey ByrnesmachineFunctionInfo: 535*acb7859fSJeffrey Byrnes isEntryFunction: true 536*acb7859fSJeffrey Byrnesbody: | 537*acb7859fSJeffrey Byrnes ; GFX9-SUNK-LABEL: name: test_sink_high_rp 538*acb7859fSJeffrey Byrnes ; GFX9-SUNK: bb.0: 539*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x80000000) 540*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 541*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 542*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 543*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 544*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 545*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 546*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.1 547*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 548*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.1: 549*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 550*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 551*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 552*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.3 553*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 554*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.2: 555*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 556*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 557*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 558*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 559*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 560*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 561*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 562*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 563*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 564*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 565*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 566*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 567*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 568*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 569*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 570*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 571*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 572*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 573*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 574*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 575*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 576*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 577*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 578*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec 579*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec 580*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec 581*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec 582*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec 583*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec 584*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 585*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]] 586*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 587*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 588*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.3: 589*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 590*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 591*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_27:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 592*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_28:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 593*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_29:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 594*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_30:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 595*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_31:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 596*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_32:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 597*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_33:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 598*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_34:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 599*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_35:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 600*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_36:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 601*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_37:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 602*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_38:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 603*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_39:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 604*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_40:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 605*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_41:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 606*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_42:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 607*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_43:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 608*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_44:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 609*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_45:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 610*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_46:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 611*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_47:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 612*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_48:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec 613*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_49:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec 614*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_50:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec 615*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_51:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec 616*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_52:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec 617*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_53:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec 618*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 619*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_27]], implicit [[V_ADD_U32_e64_28]], implicit [[V_ADD_U32_e64_29]], implicit [[V_ADD_U32_e64_30]], implicit [[V_ADD_U32_e64_31]], implicit [[V_ADD_U32_e64_32]], implicit [[V_ADD_U32_e64_33]], implicit [[V_ADD_U32_e64_34]], implicit [[V_ADD_U32_e64_35]], implicit [[V_ADD_U32_e64_36]], implicit [[V_ADD_U32_e64_37]], implicit [[V_ADD_U32_e64_38]], implicit [[V_ADD_U32_e64_39]], implicit [[V_ADD_U32_e64_40]], implicit [[V_ADD_U32_e64_41]], implicit [[V_ADD_U32_e64_42]], implicit [[V_ADD_U32_e64_43]], implicit [[V_ADD_U32_e64_44]], implicit [[V_ADD_U32_e64_45]], implicit [[V_ADD_U32_e64_46]], implicit [[V_ADD_U32_e64_47]], implicit [[V_ADD_U32_e64_48]], implicit [[V_ADD_U32_e64_49]], implicit [[V_ADD_U32_e64_50]], implicit [[V_ADD_U32_e64_51]], implicit [[V_ADD_U32_e64_52]], implicit [[V_ADD_U32_e64_53]] 620*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 621*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 622*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.4: 623*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 624*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 625*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 626*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.5 627*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 628*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.5: 629*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_ENDPGM 0 630*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 631*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.6.entry: 632*acb7859fSJeffrey Byrnes ; 633*acb7859fSJeffrey Byrnes ; GFX10-SUNK-LABEL: name: test_sink_high_rp 634*acb7859fSJeffrey Byrnes ; GFX10-SUNK: bb.0: 635*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x80000000) 636*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 637*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 638*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 639*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 640*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 641*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 642*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.1 643*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 644*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.1: 645*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 646*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 647*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 648*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.3 649*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 650*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.2: 651*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 652*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 653*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 654*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 655*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 656*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 657*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 658*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 659*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 660*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 661*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 662*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 663*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 664*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 665*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 666*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 667*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 668*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 669*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 670*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 671*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 672*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 673*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 674*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec 675*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec 676*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec 677*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec 678*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec 679*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec 680*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 681*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]] 682*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 683*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 684*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.3: 685*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 686*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 687*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_27:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 688*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_28:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 689*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_29:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 690*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_30:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 691*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_31:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 692*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_32:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 693*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_33:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 694*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_34:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 695*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_35:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 696*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_36:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 697*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_37:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 698*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_38:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 699*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_39:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 700*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_40:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 701*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_41:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 702*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_42:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 703*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_43:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 704*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_44:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 705*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_45:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 706*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_46:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 707*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_47:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 708*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_48:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec 709*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_49:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec 710*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_50:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec 711*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_51:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec 712*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_52:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec 713*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_53:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec 714*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 715*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_27]], implicit [[V_ADD_U32_e64_28]], implicit [[V_ADD_U32_e64_29]], implicit [[V_ADD_U32_e64_30]], implicit [[V_ADD_U32_e64_31]], implicit [[V_ADD_U32_e64_32]], implicit [[V_ADD_U32_e64_33]], implicit [[V_ADD_U32_e64_34]], implicit [[V_ADD_U32_e64_35]], implicit [[V_ADD_U32_e64_36]], implicit [[V_ADD_U32_e64_37]], implicit [[V_ADD_U32_e64_38]], implicit [[V_ADD_U32_e64_39]], implicit [[V_ADD_U32_e64_40]], implicit [[V_ADD_U32_e64_41]], implicit [[V_ADD_U32_e64_42]], implicit [[V_ADD_U32_e64_43]], implicit [[V_ADD_U32_e64_44]], implicit [[V_ADD_U32_e64_45]], implicit [[V_ADD_U32_e64_46]], implicit [[V_ADD_U32_e64_47]], implicit [[V_ADD_U32_e64_48]], implicit [[V_ADD_U32_e64_49]], implicit [[V_ADD_U32_e64_50]], implicit [[V_ADD_U32_e64_51]], implicit [[V_ADD_U32_e64_52]], implicit [[V_ADD_U32_e64_53]] 716*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 717*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 718*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.4: 719*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 720*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 721*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 722*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.5 723*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 724*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.5: 725*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_ENDPGM 0 726*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 727*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.6.entry: 728*acb7859fSJeffrey Byrnes bb.0: 729*acb7859fSJeffrey Byrnes %0:vreg_256 = IMPLICIT_DEF 730*acb7859fSJeffrey Byrnes %1:vreg_256 = IMPLICIT_DEF 731*acb7859fSJeffrey Byrnes %2:vreg_256 = IMPLICIT_DEF 732*acb7859fSJeffrey Byrnes %3:vreg_256 = IMPLICIT_DEF 733*acb7859fSJeffrey Byrnes %4:vreg_256 = IMPLICIT_DEF 734*acb7859fSJeffrey Byrnes %5:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 735*acb7859fSJeffrey Byrnes %6:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 736*acb7859fSJeffrey Byrnes %7:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 737*acb7859fSJeffrey Byrnes %8:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 738*acb7859fSJeffrey Byrnes %9:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 739*acb7859fSJeffrey Byrnes %10:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 740*acb7859fSJeffrey Byrnes %11:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 741*acb7859fSJeffrey Byrnes %12:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 742*acb7859fSJeffrey Byrnes %13:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 743*acb7859fSJeffrey Byrnes %14:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 744*acb7859fSJeffrey Byrnes %15:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 745*acb7859fSJeffrey Byrnes %16:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 746*acb7859fSJeffrey Byrnes %17:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 747*acb7859fSJeffrey Byrnes %18:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 748*acb7859fSJeffrey Byrnes %19:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 749*acb7859fSJeffrey Byrnes %20:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 750*acb7859fSJeffrey Byrnes %21:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 751*acb7859fSJeffrey Byrnes %22:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 752*acb7859fSJeffrey Byrnes %23:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 753*acb7859fSJeffrey Byrnes %24:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 754*acb7859fSJeffrey Byrnes %25:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 755*acb7859fSJeffrey Byrnes %26:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 756*acb7859fSJeffrey Byrnes %27:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 757*acb7859fSJeffrey Byrnes %28:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 758*acb7859fSJeffrey Byrnes %29:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub3:vreg_256, 0, implicit $exec 759*acb7859fSJeffrey Byrnes %30:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub3:vreg_256, 0, implicit $exec 760*acb7859fSJeffrey Byrnes %31:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub3:vreg_256, 0, implicit $exec 761*acb7859fSJeffrey Byrnes 762*acb7859fSJeffrey Byrnes S_BRANCH %bb.1 763*acb7859fSJeffrey Byrnes 764*acb7859fSJeffrey Byrnes bb.1: 765*acb7859fSJeffrey Byrnes S_CBRANCH_EXECZ %bb.2, implicit $exec 766*acb7859fSJeffrey Byrnes S_BRANCH %bb.3 767*acb7859fSJeffrey Byrnes 768*acb7859fSJeffrey Byrnes bb.2: 769*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 770*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31 771*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 772*acb7859fSJeffrey Byrnes 773*acb7859fSJeffrey Byrnes bb.3: 774*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 775*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31 776*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 777*acb7859fSJeffrey Byrnes 778*acb7859fSJeffrey Byrnes bb.4: 779*acb7859fSJeffrey Byrnes S_CBRANCH_SCC1 %bb.1, implicit undef $scc 780*acb7859fSJeffrey Byrnes S_BRANCH %bb.5 781*acb7859fSJeffrey Byrnes 782*acb7859fSJeffrey Byrnes bb.5: 783*acb7859fSJeffrey Byrnes S_ENDPGM 0 784*acb7859fSJeffrey Byrnes... 785*acb7859fSJeffrey Byrnes 786*acb7859fSJeffrey Byrnes# Do not sink convergent op (MFMA) 787*acb7859fSJeffrey Byrnes 788*acb7859fSJeffrey Byrnes--- 789*acb7859fSJeffrey Byrnesname: test_sink_convergent 790*acb7859fSJeffrey Byrnesalignment: 1 791*acb7859fSJeffrey ByrnestracksRegLiveness: true 792*acb7859fSJeffrey ByrnesmachineFunctionInfo: 793*acb7859fSJeffrey Byrnes isEntryFunction: true 794*acb7859fSJeffrey Byrnesbody: | 795*acb7859fSJeffrey Byrnes ; GFX9-SUNK-LABEL: name: test_sink_convergent 796*acb7859fSJeffrey Byrnes ; GFX9-SUNK: bb.0: 797*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x80000000) 798*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 799*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 800*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 801*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 802*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 803*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 804*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF5:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF 805*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF6:%[0-9]+]]:areg_128_align2 = IMPLICIT_DEF 806*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF7:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF 807*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF8:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF 808*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_MFMA_F32_4X4X1F32_e64_:%[0-9]+]]:areg_128_align2 = V_MFMA_F32_4X4X1F32_e64 [[DEF5]], [[DEF7]], [[DEF6]], 0, 0, 0, implicit $mode, implicit $exec 809*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.1 810*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 811*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.1: 812*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 813*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 814*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF8]], implicit [[V_MFMA_F32_4X4X1F32_e64_]] 815*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 816*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.3 817*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 818*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.2: 819*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 820*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 821*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 822*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 823*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 824*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 825*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 826*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 827*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 828*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 829*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 830*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 831*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 832*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 833*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 834*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 835*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 836*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 837*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 838*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 839*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 840*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 841*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 842*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec 843*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec 844*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec 845*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec 846*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec 847*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec 848*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 849*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]] 850*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 851*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 852*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.3: 853*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 854*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 855*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_27:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 856*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_28:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 857*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_29:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 858*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_30:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 859*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_31:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 860*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_32:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 861*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_33:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 862*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_34:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 863*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_35:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 864*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_36:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 865*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_37:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 866*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_38:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 867*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_39:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 868*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_40:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 869*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_41:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 870*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_42:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 871*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_43:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 872*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_44:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 873*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_45:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 874*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_46:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 875*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_47:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 876*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_48:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec 877*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_49:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec 878*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_50:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec 879*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_51:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec 880*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_52:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec 881*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_53:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec 882*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 883*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_27]], implicit [[V_ADD_U32_e64_28]], implicit [[V_ADD_U32_e64_29]], implicit [[V_ADD_U32_e64_30]], implicit [[V_ADD_U32_e64_31]], implicit [[V_ADD_U32_e64_32]], implicit [[V_ADD_U32_e64_33]], implicit [[V_ADD_U32_e64_34]], implicit [[V_ADD_U32_e64_35]], implicit [[V_ADD_U32_e64_36]], implicit [[V_ADD_U32_e64_37]], implicit [[V_ADD_U32_e64_38]], implicit [[V_ADD_U32_e64_39]], implicit [[V_ADD_U32_e64_40]], implicit [[V_ADD_U32_e64_41]], implicit [[V_ADD_U32_e64_42]], implicit [[V_ADD_U32_e64_43]], implicit [[V_ADD_U32_e64_44]], implicit [[V_ADD_U32_e64_45]], implicit [[V_ADD_U32_e64_46]], implicit [[V_ADD_U32_e64_47]], implicit [[V_ADD_U32_e64_48]], implicit [[V_ADD_U32_e64_49]], implicit [[V_ADD_U32_e64_50]], implicit [[V_ADD_U32_e64_51]], implicit [[V_ADD_U32_e64_52]], implicit [[V_ADD_U32_e64_53]] 884*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 885*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 886*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.4: 887*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 888*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 889*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 890*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.5 891*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 892*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.5: 893*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_ENDPGM 0 894*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 895*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.6.entry: 896*acb7859fSJeffrey Byrnes ; 897*acb7859fSJeffrey Byrnes ; GFX10-SUNK-LABEL: name: test_sink_convergent 898*acb7859fSJeffrey Byrnes ; GFX10-SUNK: bb.0: 899*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x80000000) 900*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 901*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 902*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 903*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 904*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 905*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 906*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF5:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF 907*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF6:%[0-9]+]]:areg_128_align2 = IMPLICIT_DEF 908*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF7:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF 909*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF8:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF 910*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_MFMA_F32_4X4X1F32_e64_:%[0-9]+]]:areg_128_align2 = V_MFMA_F32_4X4X1F32_e64 [[DEF5]], [[DEF7]], [[DEF6]], 0, 0, 0, implicit $mode, implicit $exec 911*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.1 912*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 913*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.1: 914*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 915*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 916*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF8]], implicit [[V_MFMA_F32_4X4X1F32_e64_]] 917*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 918*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.3 919*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 920*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.2: 921*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 922*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 923*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 924*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 925*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 926*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 927*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 928*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 929*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 930*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 931*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 932*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 933*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 934*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 935*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 936*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 937*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 938*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 939*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 940*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 941*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 942*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 943*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 944*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec 945*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec 946*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec 947*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec 948*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec 949*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec 950*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 951*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]] 952*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 953*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 954*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.3: 955*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 956*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 957*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_27:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 958*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_28:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 959*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_29:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 960*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_30:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 961*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_31:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 962*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_32:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 963*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_33:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 964*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_34:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 965*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_35:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 966*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_36:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 967*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_37:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 968*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_38:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 969*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_39:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 970*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_40:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 971*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_41:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 972*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_42:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 973*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_43:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 974*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_44:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 975*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_45:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 976*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_46:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 977*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_47:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 978*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_48:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec 979*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_49:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec 980*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_50:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec 981*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_51:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec 982*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_52:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec 983*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_53:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec 984*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 985*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_27]], implicit [[V_ADD_U32_e64_28]], implicit [[V_ADD_U32_e64_29]], implicit [[V_ADD_U32_e64_30]], implicit [[V_ADD_U32_e64_31]], implicit [[V_ADD_U32_e64_32]], implicit [[V_ADD_U32_e64_33]], implicit [[V_ADD_U32_e64_34]], implicit [[V_ADD_U32_e64_35]], implicit [[V_ADD_U32_e64_36]], implicit [[V_ADD_U32_e64_37]], implicit [[V_ADD_U32_e64_38]], implicit [[V_ADD_U32_e64_39]], implicit [[V_ADD_U32_e64_40]], implicit [[V_ADD_U32_e64_41]], implicit [[V_ADD_U32_e64_42]], implicit [[V_ADD_U32_e64_43]], implicit [[V_ADD_U32_e64_44]], implicit [[V_ADD_U32_e64_45]], implicit [[V_ADD_U32_e64_46]], implicit [[V_ADD_U32_e64_47]], implicit [[V_ADD_U32_e64_48]], implicit [[V_ADD_U32_e64_49]], implicit [[V_ADD_U32_e64_50]], implicit [[V_ADD_U32_e64_51]], implicit [[V_ADD_U32_e64_52]], implicit [[V_ADD_U32_e64_53]] 986*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 987*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 988*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.4: 989*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 990*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 991*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 992*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.5 993*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 994*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.5: 995*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_ENDPGM 0 996*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 997*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.6.entry: 998*acb7859fSJeffrey Byrnes bb.0: 999*acb7859fSJeffrey Byrnes %0:vreg_256 = IMPLICIT_DEF 1000*acb7859fSJeffrey Byrnes %1:vreg_256 = IMPLICIT_DEF 1001*acb7859fSJeffrey Byrnes %2:vreg_256 = IMPLICIT_DEF 1002*acb7859fSJeffrey Byrnes %3:vreg_256 = IMPLICIT_DEF 1003*acb7859fSJeffrey Byrnes %4:vreg_256 = IMPLICIT_DEF 1004*acb7859fSJeffrey Byrnes %5:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1005*acb7859fSJeffrey Byrnes %6:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1006*acb7859fSJeffrey Byrnes %7:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1007*acb7859fSJeffrey Byrnes %8:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1008*acb7859fSJeffrey Byrnes %9:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1009*acb7859fSJeffrey Byrnes %10:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1010*acb7859fSJeffrey Byrnes %11:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1011*acb7859fSJeffrey Byrnes %12:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1012*acb7859fSJeffrey Byrnes %13:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1013*acb7859fSJeffrey Byrnes %14:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1014*acb7859fSJeffrey Byrnes %15:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1015*acb7859fSJeffrey Byrnes %16:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1016*acb7859fSJeffrey Byrnes %17:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1017*acb7859fSJeffrey Byrnes %18:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1018*acb7859fSJeffrey Byrnes %19:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1019*acb7859fSJeffrey Byrnes %20:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1020*acb7859fSJeffrey Byrnes %21:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1021*acb7859fSJeffrey Byrnes %22:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1022*acb7859fSJeffrey Byrnes %23:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1023*acb7859fSJeffrey Byrnes %24:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1024*acb7859fSJeffrey Byrnes %25:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1025*acb7859fSJeffrey Byrnes %26:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1026*acb7859fSJeffrey Byrnes %27:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1027*acb7859fSJeffrey Byrnes %28:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1028*acb7859fSJeffrey Byrnes %29:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub3:vreg_256, 0, implicit $exec 1029*acb7859fSJeffrey Byrnes %30:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub3:vreg_256, 0, implicit $exec 1030*acb7859fSJeffrey Byrnes %31:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub3:vreg_256, 0, implicit $exec 1031*acb7859fSJeffrey Byrnes %40:vgpr_32 = IMPLICIT_DEF 1032*acb7859fSJeffrey Byrnes %41:areg_128_align2 = IMPLICIT_DEF 1033*acb7859fSJeffrey Byrnes %42:vgpr_32 = IMPLICIT_DEF 1034*acb7859fSJeffrey Byrnes %43:vgpr_32 = IMPLICIT_DEF 1035*acb7859fSJeffrey Byrnes %44:areg_128_align2 = V_MFMA_F32_4X4X1F32_e64 %40, %42, %41, 0, 0, 0, implicit $mode, implicit $exec 1036*acb7859fSJeffrey Byrnes 1037*acb7859fSJeffrey Byrnes 1038*acb7859fSJeffrey Byrnes S_BRANCH %bb.1 1039*acb7859fSJeffrey Byrnes 1040*acb7859fSJeffrey Byrnes bb.1: 1041*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %43, implicit %44 1042*acb7859fSJeffrey Byrnes S_CBRANCH_EXECZ %bb.2, implicit $exec 1043*acb7859fSJeffrey Byrnes S_BRANCH %bb.3 1044*acb7859fSJeffrey Byrnes 1045*acb7859fSJeffrey Byrnes bb.2: 1046*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 1047*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31 1048*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 1049*acb7859fSJeffrey Byrnes 1050*acb7859fSJeffrey Byrnes bb.3: 1051*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 1052*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31 1053*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 1054*acb7859fSJeffrey Byrnes 1055*acb7859fSJeffrey Byrnes bb.4: 1056*acb7859fSJeffrey Byrnes S_CBRANCH_SCC1 %bb.1, implicit undef $scc 1057*acb7859fSJeffrey Byrnes S_BRANCH %bb.5 1058*acb7859fSJeffrey Byrnes 1059*acb7859fSJeffrey Byrnes bb.5: 1060*acb7859fSJeffrey Byrnes S_ENDPGM 0 1061*acb7859fSJeffrey Byrnes... 1062*acb7859fSJeffrey Byrnes 1063*acb7859fSJeffrey Byrnes# Do not sink instructions with multiple defs 1064*acb7859fSJeffrey Byrnes 1065*acb7859fSJeffrey Byrnes--- 1066*acb7859fSJeffrey Byrnesname: test_sink_multi_def 1067*acb7859fSJeffrey Byrnesalignment: 1 1068*acb7859fSJeffrey ByrnestracksRegLiveness: true 1069*acb7859fSJeffrey ByrnesmachineFunctionInfo: 1070*acb7859fSJeffrey Byrnes isEntryFunction: true 1071*acb7859fSJeffrey Byrnesbody: | 1072*acb7859fSJeffrey Byrnes ; GFX9-SUNK-LABEL: name: test_sink_multi_def 1073*acb7859fSJeffrey Byrnes ; GFX9-SUNK: bb.0: 1074*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x80000000) 1075*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 1076*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 1077*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 1078*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 1079*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 1080*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF 1081*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 1082*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 1083*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 1084*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 1085*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 1086*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 1087*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 1088*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 1089*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 1090*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 1091*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 1092*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 1093*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 1094*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 1095*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 1096*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 1097*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 1098*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 1099*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 1100*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 1101*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 1102*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec 1103*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec 1104*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec 1105*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec 1106*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec 1107*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec 1108*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: [[V_ADD_CO_U32_e64_:%[0-9]+]]:vgpr_32, [[V_ADD_CO_U32_e64_1:%[0-9]+]]:sreg_64_xexec = V_ADD_CO_U32_e64 [[DEF]].sub2, [[DEF1]].sub4, 0, implicit $exec 1109*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.1 1110*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 1111*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.1: 1112*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 1113*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 1114*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_CO_U32_e64_]], implicit [[V_ADD_CO_U32_e64_1]] 1115*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 1116*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.3 1117*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 1118*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.2: 1119*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 1120*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 1121*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 1122*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]] 1123*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 1124*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 1125*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.3: 1126*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.4(0x80000000) 1127*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 1128*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 1129*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]] 1130*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.4 1131*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 1132*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.4: 1133*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 1134*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 1135*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 1136*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_BRANCH %bb.5 1137*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 1138*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.5: 1139*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: S_ENDPGM 0 1140*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: {{ $}} 1141*acb7859fSJeffrey Byrnes ; GFX9-SUNK-NEXT: bb.6.entry: 1142*acb7859fSJeffrey Byrnes ; 1143*acb7859fSJeffrey Byrnes ; GFX10-SUNK-LABEL: name: test_sink_multi_def 1144*acb7859fSJeffrey Byrnes ; GFX10-SUNK: bb.0: 1145*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x80000000) 1146*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 1147*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 1148*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 1149*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 1150*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 1151*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF 1152*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec 1153*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec 1154*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec 1155*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec 1156*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec 1157*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec 1158*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec 1159*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec 1160*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec 1161*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec 1162*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec 1163*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec 1164*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec 1165*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec 1166*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec 1167*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec 1168*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec 1169*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec 1170*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec 1171*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec 1172*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec 1173*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec 1174*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec 1175*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec 1176*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec 1177*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec 1178*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec 1179*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: [[V_ADD_CO_U32_e64_:%[0-9]+]]:vgpr_32, [[V_ADD_CO_U32_e64_1:%[0-9]+]]:sreg_64_xexec = V_ADD_CO_U32_e64 [[DEF]].sub2, [[DEF1]].sub4, 0, implicit $exec 1180*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.1 1181*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 1182*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.1: 1183*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.2(0x40000000), %bb.3(0x40000000) 1184*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 1185*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_CO_U32_e64_]], implicit [[V_ADD_CO_U32_e64_1]] 1186*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 1187*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.3 1188*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 1189*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.2: 1190*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 1191*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 1192*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 1193*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]] 1194*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 1195*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 1196*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.3: 1197*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.4(0x80000000) 1198*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 1199*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]] 1200*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]] 1201*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.4 1202*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 1203*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.4: 1204*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: successors: %bb.1(0x40000000), %bb.5(0x40000000) 1205*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 1206*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit undef $scc 1207*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_BRANCH %bb.5 1208*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 1209*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.5: 1210*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: S_ENDPGM 0 1211*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: {{ $}} 1212*acb7859fSJeffrey Byrnes ; GFX10-SUNK-NEXT: bb.6.entry: 1213*acb7859fSJeffrey Byrnes bb.0: 1214*acb7859fSJeffrey Byrnes %0:vreg_256 = IMPLICIT_DEF 1215*acb7859fSJeffrey Byrnes %1:vreg_256 = IMPLICIT_DEF 1216*acb7859fSJeffrey Byrnes %2:vreg_256 = IMPLICIT_DEF 1217*acb7859fSJeffrey Byrnes %3:vreg_256 = IMPLICIT_DEF 1218*acb7859fSJeffrey Byrnes %4:vreg_256 = IMPLICIT_DEF 1219*acb7859fSJeffrey Byrnes %5:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1220*acb7859fSJeffrey Byrnes %6:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1221*acb7859fSJeffrey Byrnes %7:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1222*acb7859fSJeffrey Byrnes %8:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1223*acb7859fSJeffrey Byrnes %9:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1224*acb7859fSJeffrey Byrnes %10:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1225*acb7859fSJeffrey Byrnes %11:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1226*acb7859fSJeffrey Byrnes %12:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub0:vreg_256, 0, implicit $exec 1227*acb7859fSJeffrey Byrnes %13:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1228*acb7859fSJeffrey Byrnes %14:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1229*acb7859fSJeffrey Byrnes %15:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1230*acb7859fSJeffrey Byrnes %16:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1231*acb7859fSJeffrey Byrnes %17:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1232*acb7859fSJeffrey Byrnes %18:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1233*acb7859fSJeffrey Byrnes %19:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1234*acb7859fSJeffrey Byrnes %20:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub1:vreg_256, 0, implicit $exec 1235*acb7859fSJeffrey Byrnes %21:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1236*acb7859fSJeffrey Byrnes %22:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1237*acb7859fSJeffrey Byrnes %23:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1238*acb7859fSJeffrey Byrnes %24:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1239*acb7859fSJeffrey Byrnes %25:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1240*acb7859fSJeffrey Byrnes %26:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1241*acb7859fSJeffrey Byrnes %27:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1242*acb7859fSJeffrey Byrnes %28:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub2:vreg_256, 0, implicit $exec 1243*acb7859fSJeffrey Byrnes %29:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub3:vreg_256, 0, implicit $exec 1244*acb7859fSJeffrey Byrnes %30:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub3:vreg_256, 0, implicit $exec 1245*acb7859fSJeffrey Byrnes %31:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub3:vreg_256, 0, implicit $exec 1246*acb7859fSJeffrey Byrnes %32:vgpr_32, %33:sreg_64_xexec = V_ADD_CO_U32_e64 %0.sub2:vreg_256, %1.sub4:vreg_256, 0, implicit $exec 1247*acb7859fSJeffrey Byrnes 1248*acb7859fSJeffrey Byrnes S_BRANCH %bb.1 1249*acb7859fSJeffrey Byrnes 1250*acb7859fSJeffrey Byrnes bb.1: 1251*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %32, implicit %33 1252*acb7859fSJeffrey Byrnes S_CBRANCH_EXECZ %bb.2, implicit $exec 1253*acb7859fSJeffrey Byrnes S_BRANCH %bb.3 1254*acb7859fSJeffrey Byrnes 1255*acb7859fSJeffrey Byrnes bb.2: 1256*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 1257*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31 1258*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 1259*acb7859fSJeffrey Byrnes 1260*acb7859fSJeffrey Byrnes bb.3: 1261*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4 1262*acb7859fSJeffrey Byrnes INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31 1263*acb7859fSJeffrey Byrnes S_BRANCH %bb.4 1264*acb7859fSJeffrey Byrnes 1265*acb7859fSJeffrey Byrnes bb.4: 1266*acb7859fSJeffrey Byrnes S_CBRANCH_SCC1 %bb.1, implicit undef $scc 1267*acb7859fSJeffrey Byrnes S_BRANCH %bb.5 1268*acb7859fSJeffrey Byrnes 1269*acb7859fSJeffrey Byrnes bb.5: 1270*acb7859fSJeffrey Byrnes S_ENDPGM 0 1271*acb7859fSJeffrey Byrnes... 1272*acb7859fSJeffrey Byrnes 1273