brintos

brintos / llvm-project-archived public Read only

0
0
Text · 118.6 KiB · b5a04ce Raw
3021 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx908 -run-pass=regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck -check-prefix=FAST %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx908 -run-pass=regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck -check-prefix=GREEDY %s4 5---6name: phi_s32_ss_sbranch7legalized: true8tracksRegLiveness: true9 10body: |11  ; FAST-LABEL: name: phi_s32_ss_sbranch12  ; FAST: bb.0:13  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)14  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr215  ; FAST-NEXT: {{  $}}16  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr017  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr118  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr219  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 020  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]21  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)22  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)23  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.124  ; FAST-NEXT:   G_BR %bb.225  ; FAST-NEXT: {{  $}}26  ; FAST-NEXT: bb.1:27  ; FAST-NEXT:   successors: %bb.2(0x80000000)28  ; FAST-NEXT: {{  $}}29  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY [[COPY1]](s32)30  ; FAST-NEXT:   G_BR %bb.231  ; FAST-NEXT: {{  $}}32  ; FAST-NEXT: bb.2:33  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.134  ; FAST-NEXT:   $sgpr0 = COPY [[PHI]](s32)35  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr3136  ; GREEDY-LABEL: name: phi_s32_ss_sbranch37  ; GREEDY: bb.0:38  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)39  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr240  ; GREEDY-NEXT: {{  $}}41  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr042  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr143  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr244  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 045  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]46  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)47  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)48  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.149  ; GREEDY-NEXT:   G_BR %bb.250  ; GREEDY-NEXT: {{  $}}51  ; GREEDY-NEXT: bb.1:52  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)53  ; GREEDY-NEXT: {{  $}}54  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY [[COPY1]](s32)55  ; GREEDY-NEXT:   G_BR %bb.256  ; GREEDY-NEXT: {{  $}}57  ; GREEDY-NEXT: bb.2:58  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.159  ; GREEDY-NEXT:   $sgpr0 = COPY [[PHI]](s32)60  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr3161  bb.0:62    successors: %bb.1, %bb.263    liveins: $sgpr0, $sgpr1, $sgpr264 65    %0:_(s32) = COPY $sgpr066    %1:_(s32) = COPY $sgpr167    %2:_(s32) = COPY $sgpr268    %3:_(s32) = G_CONSTANT i32 069    %4:_(s1) = G_ICMP intpred(eq), %2, %370    G_BRCOND %4, %bb.171    G_BR %bb.272 73  bb.1:74    successors: %bb.275 76    %5:_(s32) = COPY %177    G_BR %bb.278 79  bb.2:80    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.181    $sgpr0 = COPY %682    S_SETPC_B64 undef $sgpr30_sgpr3183 84...85 86---87name: phi_s32_sv_sbranch88legalized: true89tracksRegLiveness: true90 91body: |92  ; FAST-LABEL: name: phi_s32_sv_sbranch93  ; FAST: bb.0:94  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)95  ; FAST-NEXT:   liveins: $sgpr0, $vgpr0, $sgpr196  ; FAST-NEXT: {{  $}}97  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr098  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr099  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1100  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0101  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]102  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)103  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)104  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1105  ; FAST-NEXT:   G_BR %bb.2106  ; FAST-NEXT: {{  $}}107  ; FAST-NEXT: bb.1:108  ; FAST-NEXT:   successors: %bb.2(0x80000000)109  ; FAST-NEXT: {{  $}}110  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)111  ; FAST-NEXT:   G_BR %bb.2112  ; FAST-NEXT: {{  $}}113  ; FAST-NEXT: bb.2:114  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.1115  ; FAST-NEXT:   $vgpr0 = COPY [[PHI]](s32)116  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31117  ; GREEDY-LABEL: name: phi_s32_sv_sbranch118  ; GREEDY: bb.0:119  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)120  ; GREEDY-NEXT:   liveins: $sgpr0, $vgpr0, $sgpr1121  ; GREEDY-NEXT: {{  $}}122  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0123  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0124  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1125  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0126  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]127  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)128  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)129  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1130  ; GREEDY-NEXT:   G_BR %bb.2131  ; GREEDY-NEXT: {{  $}}132  ; GREEDY-NEXT: bb.1:133  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)134  ; GREEDY-NEXT: {{  $}}135  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)136  ; GREEDY-NEXT:   G_BR %bb.2137  ; GREEDY-NEXT: {{  $}}138  ; GREEDY-NEXT: bb.2:139  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.1140  ; GREEDY-NEXT:   $vgpr0 = COPY [[PHI]](s32)141  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31142  bb.0:143    successors: %bb.1, %bb.2144    liveins: $sgpr0, $vgpr0, $sgpr1145 146    %0:_(s32) = COPY $sgpr0147    %1:_(s32) = COPY $vgpr0148    %2:_(s32) = COPY $sgpr1149    %3:_(s32) = G_CONSTANT i32 0150    %4:_(s1) = G_ICMP intpred(eq), %2, %3151    G_BRCOND %4, %bb.1152    G_BR %bb.2153 154  bb.1:155    successors: %bb.2156 157    %5:_(s32) = COPY %1158    G_BR %bb.2159 160  bb.2:161    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.1162    $vgpr0 = COPY %6163    S_SETPC_B64 undef $sgpr30_sgpr31164 165...166 167---168name: phi_s32_vs_sbranch169legalized: true170tracksRegLiveness: true171 172body: |173  ; FAST-LABEL: name: phi_s32_vs_sbranch174  ; FAST: bb.0:175  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)176  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1177  ; FAST-NEXT: {{  $}}178  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0179  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0180  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1181  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0182  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]183  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)184  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)185  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1186  ; FAST-NEXT:   G_BR %bb.2187  ; FAST-NEXT: {{  $}}188  ; FAST-NEXT: bb.1:189  ; FAST-NEXT:   successors: %bb.2(0x80000000)190  ; FAST-NEXT: {{  $}}191  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY [[COPY1]](s32)192  ; FAST-NEXT:   G_BR %bb.2193  ; FAST-NEXT: {{  $}}194  ; FAST-NEXT: bb.2:195  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.1196  ; FAST-NEXT:   $vgpr0 = COPY [[PHI]](s32)197  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31198  ; GREEDY-LABEL: name: phi_s32_vs_sbranch199  ; GREEDY: bb.0:200  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)201  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1202  ; GREEDY-NEXT: {{  $}}203  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0204  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0205  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1206  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0207  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]208  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)209  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)210  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1211  ; GREEDY-NEXT:   G_BR %bb.2212  ; GREEDY-NEXT: {{  $}}213  ; GREEDY-NEXT: bb.1:214  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)215  ; GREEDY-NEXT: {{  $}}216  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY [[COPY1]](s32)217  ; GREEDY-NEXT:   G_BR %bb.2218  ; GREEDY-NEXT: {{  $}}219  ; GREEDY-NEXT: bb.2:220  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.1221  ; GREEDY-NEXT:   $vgpr0 = COPY [[PHI]](s32)222  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31223  bb.0:224    successors: %bb.1, %bb.2225    liveins: $vgpr0, $sgpr0, $sgpr1226 227    %0:_(s32) = COPY $vgpr0228    %1:_(s32) = COPY $sgpr0229    %2:_(s32) = COPY $sgpr1230    %3:_(s32) = G_CONSTANT i32 0231    %4:_(s1) = G_ICMP intpred(eq), %2, %3232    G_BRCOND %4, %bb.1233    G_BR %bb.2234 235  bb.1:236    successors: %bb.2237 238    %5:_(s32) = COPY %1239    G_BR %bb.2240 241  bb.2:242    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.1243    $vgpr0 = COPY %6244    S_SETPC_B64 undef $sgpr30_sgpr31245 246...247 248---249name: phi_s32_vv_sbranch250legalized: true251tracksRegLiveness: true252 253body: |254  ; FAST-LABEL: name: phi_s32_vv_sbranch255  ; FAST: bb.0:256  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)257  ; FAST-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr0258  ; FAST-NEXT: {{  $}}259  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0260  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1261  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr0262  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0263  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]264  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)265  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)266  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1267  ; FAST-NEXT:   G_BR %bb.2268  ; FAST-NEXT: {{  $}}269  ; FAST-NEXT: bb.1:270  ; FAST-NEXT:   successors: %bb.2(0x80000000)271  ; FAST-NEXT: {{  $}}272  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)273  ; FAST-NEXT:   G_BR %bb.2274  ; FAST-NEXT: {{  $}}275  ; FAST-NEXT: bb.2:276  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.1277  ; FAST-NEXT:   $vgpr0 = COPY [[PHI]](s32)278  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31279  ; GREEDY-LABEL: name: phi_s32_vv_sbranch280  ; GREEDY: bb.0:281  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)282  ; GREEDY-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr0283  ; GREEDY-NEXT: {{  $}}284  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0285  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1286  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr0287  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0288  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]289  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)290  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)291  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1292  ; GREEDY-NEXT:   G_BR %bb.2293  ; GREEDY-NEXT: {{  $}}294  ; GREEDY-NEXT: bb.1:295  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)296  ; GREEDY-NEXT: {{  $}}297  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)298  ; GREEDY-NEXT:   G_BR %bb.2299  ; GREEDY-NEXT: {{  $}}300  ; GREEDY-NEXT: bb.2:301  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.1302  ; GREEDY-NEXT:   $vgpr0 = COPY [[PHI]](s32)303  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31304  bb.0:305    successors: %bb.1, %bb.2306    liveins: $vgpr0, $vgpr1, $sgpr0307 308    %0:_(s32) = COPY $vgpr0309    %1:_(s32) = COPY $vgpr1310    %2:_(s32) = COPY $sgpr0311    %3:_(s32) = G_CONSTANT i32 0312    %4:_(s1) = G_ICMP intpred(eq), %2, %3313    G_BRCOND %4, %bb.1314    G_BR %bb.2315 316  bb.1:317    successors: %bb.2318 319    %5:_(s32) = COPY %1320    G_BR %bb.2321 322  bb.2:323    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.1324    $vgpr0 = COPY %6325    S_SETPC_B64 undef $sgpr30_sgpr31326 327...328---329name: phi_s32_ss_vcc_sbranch330legalized: true331tracksRegLiveness: true332 333body: |334  ; FAST-LABEL: name: phi_s32_ss_vcc_sbranch335  ; FAST: bb.0:336  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)337  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $vgpr0338  ; FAST-NEXT: {{  $}}339  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0340  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1341  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr0342  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0343  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)344  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]345  ; FAST-NEXT:   G_BRCOND [[ICMP]](s1), %bb.1346  ; FAST-NEXT:   G_BR %bb.2347  ; FAST-NEXT: {{  $}}348  ; FAST-NEXT: bb.1:349  ; FAST-NEXT:   successors: %bb.2(0x80000000)350  ; FAST-NEXT: {{  $}}351  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:sgpr(s32) = COPY [[COPY1]](s32)352  ; FAST-NEXT:   G_BR %bb.2353  ; FAST-NEXT: {{  $}}354  ; FAST-NEXT: bb.2:355  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY4]](s32), %bb.1356  ; FAST-NEXT:   $sgpr0 = COPY [[PHI]](s32)357  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31358  ; GREEDY-LABEL: name: phi_s32_ss_vcc_sbranch359  ; GREEDY: bb.0:360  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)361  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $vgpr0362  ; GREEDY-NEXT: {{  $}}363  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0364  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1365  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr0366  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0367  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)368  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]369  ; GREEDY-NEXT:   G_BRCOND [[ICMP]](s1), %bb.1370  ; GREEDY-NEXT:   G_BR %bb.2371  ; GREEDY-NEXT: {{  $}}372  ; GREEDY-NEXT: bb.1:373  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)374  ; GREEDY-NEXT: {{  $}}375  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:sgpr(s32) = COPY [[COPY1]](s32)376  ; GREEDY-NEXT:   G_BR %bb.2377  ; GREEDY-NEXT: {{  $}}378  ; GREEDY-NEXT: bb.2:379  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY4]](s32), %bb.1380  ; GREEDY-NEXT:   $sgpr0 = COPY [[PHI]](s32)381  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31382  bb.0:383    successors: %bb.1, %bb.2384    liveins: $sgpr0, $sgpr1, $vgpr0385 386    %0:_(s32) = COPY $sgpr0387    %1:_(s32) = COPY $sgpr1388    %2:_(s32) = COPY $vgpr0389    %3:_(s32) = G_CONSTANT i32 0390    %4:_(s1) = G_ICMP intpred(eq), %2, %3391    G_BRCOND %4, %bb.1392    G_BR %bb.2393 394  bb.1:395    successors: %bb.2396 397    %5:_(s32) = COPY %1398    G_BR %bb.2399 400  bb.2:401    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.1402    $sgpr0 = COPY %6403    S_SETPC_B64 undef $sgpr30_sgpr31404 405...406 407---408name: phi_s32_sv_vcc_sbranch409legalized: true410tracksRegLiveness: true411 412body: |413  ; FAST-LABEL: name: phi_s32_sv_vcc_sbranch414  ; FAST: bb.0:415  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)416  ; FAST-NEXT:   liveins: $sgpr0, $vgpr0, $vgpr1417  ; FAST-NEXT: {{  $}}418  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0419  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0420  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr1421  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0422  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)423  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]424  ; FAST-NEXT:   G_BRCOND [[ICMP]](s1), %bb.1425  ; FAST-NEXT:   G_BR %bb.2426  ; FAST-NEXT: {{  $}}427  ; FAST-NEXT: bb.1:428  ; FAST-NEXT:   successors: %bb.2(0x80000000)429  ; FAST-NEXT: {{  $}}430  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)431  ; FAST-NEXT:   G_BR %bb.2432  ; FAST-NEXT: {{  $}}433  ; FAST-NEXT: bb.2:434  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY4]](s32), %bb.1435  ; FAST-NEXT:   $vgpr0 = COPY [[PHI]](s32)436  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31437  ; GREEDY-LABEL: name: phi_s32_sv_vcc_sbranch438  ; GREEDY: bb.0:439  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)440  ; GREEDY-NEXT:   liveins: $sgpr0, $vgpr0, $vgpr1441  ; GREEDY-NEXT: {{  $}}442  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0443  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0444  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr1445  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0446  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)447  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]448  ; GREEDY-NEXT:   G_BRCOND [[ICMP]](s1), %bb.1449  ; GREEDY-NEXT:   G_BR %bb.2450  ; GREEDY-NEXT: {{  $}}451  ; GREEDY-NEXT: bb.1:452  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)453  ; GREEDY-NEXT: {{  $}}454  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)455  ; GREEDY-NEXT:   G_BR %bb.2456  ; GREEDY-NEXT: {{  $}}457  ; GREEDY-NEXT: bb.2:458  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY4]](s32), %bb.1459  ; GREEDY-NEXT:   $vgpr0 = COPY [[PHI]](s32)460  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31461  bb.0:462    successors: %bb.1, %bb.2463    liveins: $sgpr0, $vgpr0, $vgpr1464 465    %0:_(s32) = COPY $sgpr0466    %1:_(s32) = COPY $vgpr0467    %2:_(s32) = COPY $vgpr1468    %3:_(s32) = G_CONSTANT i32 0469    %4:_(s1) = G_ICMP intpred(eq), %2, %3470    G_BRCOND %4, %bb.1471    G_BR %bb.2472 473  bb.1:474    successors: %bb.2475 476    %5:_(s32) = COPY %1477    G_BR %bb.2478 479  bb.2:480    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.1481    $vgpr0 = COPY %6482    S_SETPC_B64 undef $sgpr30_sgpr31483 484...485 486---487name: phi_s32_vs_vcc_sbranch488legalized: true489tracksRegLiveness: true490 491body: |492  ; FAST-LABEL: name: phi_s32_vs_vcc_sbranch493  ; FAST: bb.0:494  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)495  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $vgpr1496  ; FAST-NEXT: {{  $}}497  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0498  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0499  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr1500  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0501  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)502  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]503  ; FAST-NEXT:   G_BRCOND [[ICMP]](s1), %bb.1504  ; FAST-NEXT:   G_BR %bb.2505  ; FAST-NEXT: {{  $}}506  ; FAST-NEXT: bb.1:507  ; FAST-NEXT:   successors: %bb.2(0x80000000)508  ; FAST-NEXT: {{  $}}509  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:sgpr(s32) = COPY [[COPY1]](s32)510  ; FAST-NEXT:   G_BR %bb.2511  ; FAST-NEXT: {{  $}}512  ; FAST-NEXT: bb.2:513  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY4]](s32), %bb.1514  ; FAST-NEXT:   $vgpr0 = COPY [[PHI]](s32)515  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31516  ; GREEDY-LABEL: name: phi_s32_vs_vcc_sbranch517  ; GREEDY: bb.0:518  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)519  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $vgpr1520  ; GREEDY-NEXT: {{  $}}521  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0522  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0523  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr1524  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0525  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)526  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]527  ; GREEDY-NEXT:   G_BRCOND [[ICMP]](s1), %bb.1528  ; GREEDY-NEXT:   G_BR %bb.2529  ; GREEDY-NEXT: {{  $}}530  ; GREEDY-NEXT: bb.1:531  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)532  ; GREEDY-NEXT: {{  $}}533  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:sgpr(s32) = COPY [[COPY1]](s32)534  ; GREEDY-NEXT:   G_BR %bb.2535  ; GREEDY-NEXT: {{  $}}536  ; GREEDY-NEXT: bb.2:537  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY4]](s32), %bb.1538  ; GREEDY-NEXT:   $vgpr0 = COPY [[PHI]](s32)539  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31540  bb.0:541    successors: %bb.1, %bb.2542    liveins: $vgpr0, $sgpr0, $vgpr1543 544    %0:_(s32) = COPY $vgpr0545    %1:_(s32) = COPY $sgpr0546    %2:_(s32) = COPY $vgpr1547    %3:_(s32) = G_CONSTANT i32 0548    %4:_(s1) = G_ICMP intpred(eq), %2, %3549    G_BRCOND %4, %bb.1550    G_BR %bb.2551 552  bb.1:553    successors: %bb.2554 555    %5:_(s32) = COPY %1556    G_BR %bb.2557 558  bb.2:559    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.1560    $vgpr0 = COPY %6561    S_SETPC_B64 undef $sgpr30_sgpr31562 563...564 565---566name: phi_s32_vv_vcc_sbranch567legalized: true568tracksRegLiveness: true569 570body: |571  ; FAST-LABEL: name: phi_s32_vv_vcc_sbranch572  ; FAST: bb.0:573  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)574  ; FAST-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2575  ; FAST-NEXT: {{  $}}576  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0577  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1578  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr2579  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0580  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)581  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]582  ; FAST-NEXT:   G_BRCOND [[ICMP]](s1), %bb.1583  ; FAST-NEXT:   G_BR %bb.2584  ; FAST-NEXT: {{  $}}585  ; FAST-NEXT: bb.1:586  ; FAST-NEXT:   successors: %bb.2(0x80000000)587  ; FAST-NEXT: {{  $}}588  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)589  ; FAST-NEXT:   G_BR %bb.2590  ; FAST-NEXT: {{  $}}591  ; FAST-NEXT: bb.2:592  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY4]](s32), %bb.1593  ; FAST-NEXT:   $vgpr0 = COPY [[PHI]](s32)594  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31595  ; GREEDY-LABEL: name: phi_s32_vv_vcc_sbranch596  ; GREEDY: bb.0:597  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)598  ; GREEDY-NEXT:   liveins: $vgpr0, $vgpr1, $vgpr2599  ; GREEDY-NEXT: {{  $}}600  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0601  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1602  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr2603  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0604  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)605  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]606  ; GREEDY-NEXT:   G_BRCOND [[ICMP]](s1), %bb.1607  ; GREEDY-NEXT:   G_BR %bb.2608  ; GREEDY-NEXT: {{  $}}609  ; GREEDY-NEXT: bb.1:610  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)611  ; GREEDY-NEXT: {{  $}}612  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)613  ; GREEDY-NEXT:   G_BR %bb.2614  ; GREEDY-NEXT: {{  $}}615  ; GREEDY-NEXT: bb.2:616  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY4]](s32), %bb.1617  ; GREEDY-NEXT:   $vgpr0 = COPY [[PHI]](s32)618  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31619  bb.0:620    successors: %bb.1, %bb.2621    liveins: $vgpr0, $vgpr1, $vgpr2622 623    %0:_(s32) = COPY $vgpr0624    %1:_(s32) = COPY $vgpr1625    %2:_(s32) = COPY $vgpr2626    %3:_(s32) = G_CONSTANT i32 0627    %4:_(s1) = G_ICMP intpred(eq), %2, %3628    G_BRCOND %4, %bb.1629    G_BR %bb.2630 631  bb.1:632    successors: %bb.2633 634    %5:_(s32) = COPY %1635    G_BR %bb.2636 637  bb.2:638    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.1639    $vgpr0 = COPY %6640    S_SETPC_B64 undef $sgpr30_sgpr31641 642...643 644---645name: phi_s1_scc_scc_sbranch646legalized: true647tracksRegLiveness: true648 649body: |650  ; FAST-LABEL: name: phi_s1_scc_scc_sbranch651  ; FAST: bb.0:652  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)653  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr2654  ; FAST-NEXT: {{  $}}655  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0656  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1657  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2658  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0659  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]660  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)661  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]662  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)663  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)664  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)665  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1666  ; FAST-NEXT:   G_BR %bb.2667  ; FAST-NEXT: {{  $}}668  ; FAST-NEXT: bb.1:669  ; FAST-NEXT:   successors: %bb.2(0x80000000)670  ; FAST-NEXT: {{  $}}671  ; FAST-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]672  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)673  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)674  ; FAST-NEXT:   G_BR %bb.2675  ; FAST-NEXT: {{  $}}676  ; FAST-NEXT: bb.2:677  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1678  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)679  ; FAST-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)680  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]681  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)682  ; GREEDY-LABEL: name: phi_s1_scc_scc_sbranch683  ; GREEDY: bb.0:684  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)685  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr2686  ; GREEDY-NEXT: {{  $}}687  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0688  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1689  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2690  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0691  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]692  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)693  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]694  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)695  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)696  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)697  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1698  ; GREEDY-NEXT:   G_BR %bb.2699  ; GREEDY-NEXT: {{  $}}700  ; GREEDY-NEXT: bb.1:701  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)702  ; GREEDY-NEXT: {{  $}}703  ; GREEDY-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]704  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)705  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)706  ; GREEDY-NEXT:   G_BR %bb.2707  ; GREEDY-NEXT: {{  $}}708  ; GREEDY-NEXT: bb.2:709  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1710  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)711  ; GREEDY-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)712  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]713  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)714  bb.0:715    successors: %bb.1, %bb.2716    liveins: $sgpr0, $sgpr1, $sgpr2717 718    %0:_(s32) = COPY $sgpr0719    %1:_(s32) = COPY $sgpr1720    %2:_(s32) = COPY $sgpr2721    %3:_(s32) = G_CONSTANT i32 0722    %4:_(s1) = G_ICMP intpred(eq), %0, %3723    %5:_(s1) = G_ICMP intpred(eq), %2, %3724    G_BRCOND %5, %bb.1725    G_BR %bb.2726 727  bb.1:728    successors: %bb.2729 730    %6:_(s1) = G_ICMP intpred(eq), %1, %3731    G_BR %bb.2732 733  bb.2:734    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.1735    %8:_(s32) = G_SELECT %7, %3, %0736    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %8737 738...739 740---741name: phi_s1_scc_scc_scc_sbranch742legalized: true743tracksRegLiveness: true744 745body: |746  ; FAST-LABEL: name: phi_s1_scc_scc_scc_sbranch747  ; FAST: bb.0:748  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.3(0x40000000)749  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr2, $sgpr3750  ; FAST-NEXT: {{  $}}751  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0752  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1753  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2754  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY $sgpr3755  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0756  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]757  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)758  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]759  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)760  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)761  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)762  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.3763  ; FAST-NEXT:   G_BR %bb.1764  ; FAST-NEXT: {{  $}}765  ; FAST-NEXT: bb.1:766  ; FAST-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)767  ; FAST-NEXT: {{  $}}768  ; FAST-NEXT:   [[C1:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 99769  ; FAST-NEXT:   [[C2:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 888770  ; FAST-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C1]]771  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)772  ; FAST-NEXT:   [[ICMP3:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C2]]773  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP3]](s32)774  ; FAST-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)775  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)776  ; FAST-NEXT:   G_BRCOND [[ZEXT1]](s32), %bb.3777  ; FAST-NEXT:   G_BR %bb.2778  ; FAST-NEXT: {{  $}}779  ; FAST-NEXT: bb.2:780  ; FAST-NEXT:   successors: %bb.3(0x80000000)781  ; FAST-NEXT: {{  $}}782  ; FAST-NEXT:   [[C3:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 123783  ; FAST-NEXT:   [[ICMP4:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C3]]784  ; FAST-NEXT:   [[TRUNC4:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP4]](s32)785  ; FAST-NEXT:   [[ANYEXT2:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC4]](s1)786  ; FAST-NEXT:   G_BR %bb.3787  ; FAST-NEXT: {{  $}}788  ; FAST-NEXT: bb.3:789  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1, [[ANYEXT2]](s32), %bb.2790  ; FAST-NEXT:   [[TRUNC5:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)791  ; FAST-NEXT:   [[ZEXT2:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC5]](s1)792  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT2]](s32), [[COPY]], [[COPY1]]793  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)794  ; GREEDY-LABEL: name: phi_s1_scc_scc_scc_sbranch795  ; GREEDY: bb.0:796  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.3(0x40000000)797  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr2, $sgpr3798  ; GREEDY-NEXT: {{  $}}799  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0800  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1801  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2802  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY $sgpr3803  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0804  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]805  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)806  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]807  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)808  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)809  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)810  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.3811  ; GREEDY-NEXT:   G_BR %bb.1812  ; GREEDY-NEXT: {{  $}}813  ; GREEDY-NEXT: bb.1:814  ; GREEDY-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)815  ; GREEDY-NEXT: {{  $}}816  ; GREEDY-NEXT:   [[C1:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 99817  ; GREEDY-NEXT:   [[C2:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 888818  ; GREEDY-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C1]]819  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)820  ; GREEDY-NEXT:   [[ICMP3:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C2]]821  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP3]](s32)822  ; GREEDY-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)823  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)824  ; GREEDY-NEXT:   G_BRCOND [[ZEXT1]](s32), %bb.3825  ; GREEDY-NEXT:   G_BR %bb.2826  ; GREEDY-NEXT: {{  $}}827  ; GREEDY-NEXT: bb.2:828  ; GREEDY-NEXT:   successors: %bb.3(0x80000000)829  ; GREEDY-NEXT: {{  $}}830  ; GREEDY-NEXT:   [[C3:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 123831  ; GREEDY-NEXT:   [[ICMP4:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C3]]832  ; GREEDY-NEXT:   [[TRUNC4:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP4]](s32)833  ; GREEDY-NEXT:   [[ANYEXT2:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC4]](s1)834  ; GREEDY-NEXT:   G_BR %bb.3835  ; GREEDY-NEXT: {{  $}}836  ; GREEDY-NEXT: bb.3:837  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1, [[ANYEXT2]](s32), %bb.2838  ; GREEDY-NEXT:   [[TRUNC5:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)839  ; GREEDY-NEXT:   [[ZEXT2:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC5]](s1)840  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT2]](s32), [[COPY]], [[COPY1]]841  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)842  bb.0:843    successors: %bb.1, %bb.3844    liveins: $sgpr0, $sgpr1, $sgpr2, $sgpr3845 846    %0:_(s32) = COPY $sgpr0847    %1:_(s32) = COPY $sgpr1848    %2:_(s32) = COPY $sgpr2849    %3:_(s32) = COPY $sgpr3850    %4:_(s32) = G_CONSTANT i32 0851    %5:_(s1) = G_ICMP intpred(eq), %0, %3852    %6:_(s1) = G_ICMP intpred(eq), %2, %3853    G_BRCOND %6, %bb.3854    G_BR %bb.1855 856  bb.1:857    successors: %bb.2, %bb.3858 859    %7:_(s32) = G_CONSTANT i32 99860    %8:_(s32) = G_CONSTANT i32 888861    %9:_(s1) = G_ICMP intpred(eq), %1, %7862    %10:_(s1) = G_ICMP intpred(eq), %1, %8863    G_BRCOND %10, %bb.3864    G_BR %bb.2865 866  bb.2:867    successors: %bb.3868 869    %11:_(s32) = G_CONSTANT i32 123870    %12:_(s1) = G_ICMP intpred(eq), %2, %11871    G_BR %bb.3872 873  bb.3:874    %13:_(s1) = G_PHI %5, %bb.0, %9, %bb.1, %12, %bb.2875    %14:_(s32) = G_SELECT %13, %0, %1876    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %14877 878...879 880---881name: phi_s1_scc_vcc_sbranch882legalized: true883tracksRegLiveness: true884 885body: |886  ; FAST-LABEL: name: phi_s1_scc_vcc_sbranch887  ; FAST: bb.0:888  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)889  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $vgpr0890  ; FAST-NEXT: {{  $}}891  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0892  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0893  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1894  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0895  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]896  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)897  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]898  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)899  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)900  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)901  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1902  ; FAST-NEXT:   G_BR %bb.2903  ; FAST-NEXT: {{  $}}904  ; FAST-NEXT: bb.1:905  ; FAST-NEXT:   successors: %bb.2(0x80000000)906  ; FAST-NEXT: {{  $}}907  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)908  ; FAST-NEXT:   [[ICMP2:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]909  ; FAST-NEXT:   G_BR %bb.2910  ; FAST-NEXT: {{  $}}911  ; FAST-NEXT: bb.2:912  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[COPY3]](s1), %bb.0, [[ICMP2]](s1), %bb.1913  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)914  ; FAST-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)915  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]916  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)917  ; GREEDY-LABEL: name: phi_s1_scc_vcc_sbranch918  ; GREEDY: bb.0:919  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)920  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $vgpr0921  ; GREEDY-NEXT: {{  $}}922  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0923  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0924  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1925  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0926  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]927  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)928  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]929  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)930  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)931  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)932  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1933  ; GREEDY-NEXT:   G_BR %bb.2934  ; GREEDY-NEXT: {{  $}}935  ; GREEDY-NEXT: bb.1:936  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)937  ; GREEDY-NEXT: {{  $}}938  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)939  ; GREEDY-NEXT:   [[ICMP2:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]940  ; GREEDY-NEXT:   G_BR %bb.2941  ; GREEDY-NEXT: {{  $}}942  ; GREEDY-NEXT: bb.2:943  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[COPY3]](s1), %bb.0, [[ICMP2]](s1), %bb.1944  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)945  ; GREEDY-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)946  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]947  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)948  bb.0:949    successors: %bb.1, %bb.2950    liveins: $sgpr0, $sgpr1, $vgpr0951 952    %0:_(s32) = COPY $sgpr0953    %1:_(s32) = COPY $vgpr0954    %2:_(s32) = COPY $sgpr1955    %3:_(s32) = G_CONSTANT i32 0956    %4:_(s1) = G_ICMP intpred(eq), %0, %3957    %5:_(s1) = G_ICMP intpred(eq), %2, %3958    G_BRCOND %5, %bb.1959    G_BR %bb.2960 961  bb.1:962    successors: %bb.2963 964    %6:_(s1) = G_ICMP intpred(eq), %1, %3965    G_BR %bb.2966 967  bb.2:968    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.1969    %8:_(s32) = G_SELECT %7, %3, %0970    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %8971 972...973 974---975name: phi_s1_vcc_scc_sbranch976legalized: true977tracksRegLiveness: true978 979body: |980  ; FAST-LABEL: name: phi_s1_vcc_scc_sbranch981  ; FAST: bb.0:982  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)983  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1984  ; FAST-NEXT: {{  $}}985  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0986  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0987  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1988  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0989  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)990  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]991  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]992  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)993  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)994  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1995  ; FAST-NEXT:   G_BR %bb.2996  ; FAST-NEXT: {{  $}}997  ; FAST-NEXT: bb.1:998  ; FAST-NEXT:   successors: %bb.2(0x80000000)999  ; FAST-NEXT: {{  $}}1000  ; FAST-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]1001  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)1002  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC1]](s1)1003  ; FAST-NEXT:   G_BR %bb.21004  ; FAST-NEXT: {{  $}}1005  ; FAST-NEXT: bb.2:1006  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[COPY4]](s1), %bb.11007  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1008  ; FAST-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)1009  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]1010  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1011  ; GREEDY-LABEL: name: phi_s1_vcc_scc_sbranch1012  ; GREEDY: bb.0:1013  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1014  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11015  ; GREEDY-NEXT: {{  $}}1016  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01017  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr01018  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11019  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01020  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1021  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]1022  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1023  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1024  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)1025  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11026  ; GREEDY-NEXT:   G_BR %bb.21027  ; GREEDY-NEXT: {{  $}}1028  ; GREEDY-NEXT: bb.1:1029  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1030  ; GREEDY-NEXT: {{  $}}1031  ; GREEDY-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]1032  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)1033  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC1]](s1)1034  ; GREEDY-NEXT:   G_BR %bb.21035  ; GREEDY-NEXT: {{  $}}1036  ; GREEDY-NEXT: bb.2:1037  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[COPY4]](s1), %bb.11038  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1039  ; GREEDY-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)1040  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]1041  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1042  bb.0:1043    successors: %bb.1, %bb.21044    liveins: $vgpr0, $sgpr0, $sgpr11045 1046    %0:_(s32) = COPY $vgpr01047    %1:_(s32) = COPY $sgpr01048    %2:_(s32) = COPY $sgpr11049    %3:_(s32) = G_CONSTANT i32 01050    %4:_(s1) = G_ICMP intpred(eq), %0, %31051    %5:_(s1) = G_ICMP intpred(eq), %2, %31052    G_BRCOND %5, %bb.11053    G_BR %bb.21054 1055  bb.1:1056    successors: %bb.21057 1058    %6:_(s1) = G_ICMP intpred(eq), %1, %31059    G_BR %bb.21060 1061  bb.2:1062    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11063    %8:_(s32) = G_SELECT %7, %3, %11064    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81065 1066...1067 1068---1069name: phi_s1_vcc_vcc_sbranch1070legalized: true1071tracksRegLiveness: true1072 1073body: |1074  ; FAST-LABEL: name: phi_s1_vcc_vcc_sbranch1075  ; FAST: bb.0:1076  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1077  ; FAST-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01078  ; FAST-NEXT: {{  $}}1079  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01080  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11081  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01082  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01083  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1084  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]1085  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1086  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1087  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)1088  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11089  ; FAST-NEXT:   G_BR %bb.21090  ; FAST-NEXT: {{  $}}1091  ; FAST-NEXT: bb.1:1092  ; FAST-NEXT:   successors: %bb.2(0x80000000)1093  ; FAST-NEXT: {{  $}}1094  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1095  ; FAST-NEXT:   [[ICMP2:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]1096  ; FAST-NEXT:   G_BR %bb.21097  ; FAST-NEXT: {{  $}}1098  ; FAST-NEXT: bb.2:1099  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[ICMP2]](s1), %bb.11100  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1101  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY]]1102  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1103  ; GREEDY-LABEL: name: phi_s1_vcc_vcc_sbranch1104  ; GREEDY: bb.0:1105  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1106  ; GREEDY-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01107  ; GREEDY-NEXT: {{  $}}1108  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01109  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11110  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01111  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01112  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1113  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]1114  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1115  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1116  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)1117  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11118  ; GREEDY-NEXT:   G_BR %bb.21119  ; GREEDY-NEXT: {{  $}}1120  ; GREEDY-NEXT: bb.1:1121  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1122  ; GREEDY-NEXT: {{  $}}1123  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1124  ; GREEDY-NEXT:   [[ICMP2:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]1125  ; GREEDY-NEXT:   G_BR %bb.21126  ; GREEDY-NEXT: {{  $}}1127  ; GREEDY-NEXT: bb.2:1128  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[ICMP2]](s1), %bb.11129  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1130  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY]]1131  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1132  bb.0:1133    successors: %bb.1, %bb.21134    liveins: $vgpr0, $vgpr1, $sgpr01135 1136    %0:_(s32) = COPY $vgpr01137    %1:_(s32) = COPY $vgpr11138    %2:_(s32) = COPY $sgpr01139    %3:_(s32) = G_CONSTANT i32 01140    %4:_(s1) = G_ICMP intpred(eq), %0, %31141    %5:_(s1) = G_ICMP intpred(eq), %2, %31142    G_BRCOND %5, %bb.11143    G_BR %bb.21144 1145  bb.1:1146    successors: %bb.21147 1148    %6:_(s1) = G_ICMP intpred(eq), %1, %31149    G_BR %bb.21150 1151  bb.2:1152    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11153    %8:_(s32) = G_SELECT %7, %3, %01154    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81155 1156...1157 1158---1159name: phi_s1_s_scc_sbranch1160legalized: true1161tracksRegLiveness: true1162 1163body: |1164  ; FAST-LABEL: name: phi_s1_s_scc_sbranch1165  ; FAST: bb.0:1166  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1167  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr21168  ; FAST-NEXT: {{  $}}1169  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01170  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr11171  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr21172  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01173  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)1174  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1175  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1176  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1177  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)1178  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11179  ; FAST-NEXT:   G_BR %bb.21180  ; FAST-NEXT: {{  $}}1181  ; FAST-NEXT: bb.1:1182  ; FAST-NEXT:   successors: %bb.2(0x80000000)1183  ; FAST-NEXT: {{  $}}1184  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]1185  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1186  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1187  ; FAST-NEXT:   G_BR %bb.21188  ; FAST-NEXT: {{  $}}1189  ; FAST-NEXT: bb.2:1190  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11191  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)1192  ; FAST-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)1193  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]1194  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1195  ; GREEDY-LABEL: name: phi_s1_s_scc_sbranch1196  ; GREEDY: bb.0:1197  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1198  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr21199  ; GREEDY-NEXT: {{  $}}1200  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01201  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr11202  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr21203  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01204  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)1205  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1206  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1207  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1208  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)1209  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11210  ; GREEDY-NEXT:   G_BR %bb.21211  ; GREEDY-NEXT: {{  $}}1212  ; GREEDY-NEXT: bb.1:1213  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1214  ; GREEDY-NEXT: {{  $}}1215  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]1216  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1217  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1218  ; GREEDY-NEXT:   G_BR %bb.21219  ; GREEDY-NEXT: {{  $}}1220  ; GREEDY-NEXT: bb.2:1221  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11222  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)1223  ; GREEDY-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)1224  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]1225  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1226  bb.0:1227    successors: %bb.1, %bb.21228    liveins: $sgpr0, $sgpr1, $sgpr21229 1230    %0:_(s32) = COPY $sgpr01231    %1:_(s32) = COPY $sgpr11232    %2:_(s32) = COPY $sgpr21233    %3:_(s32) = G_CONSTANT i32 01234    %4:_(s1) = G_TRUNC %01235    %5:_(s1) = G_ICMP intpred(eq), %2, %31236    G_BRCOND %5, %bb.11237    G_BR %bb.21238 1239  bb.1:1240    successors: %bb.21241 1242    %6:_(s1) = G_ICMP intpred(eq), %1, %31243    G_BR %bb.21244 1245  bb.2:1246    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11247    %8:_(s32) = G_SELECT %7, %3, %01248    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81249 1250...1251 1252---1253name: phi_s1_scc_s_sbranch1254legalized: true1255tracksRegLiveness: true1256 1257body: |1258  ; FAST-LABEL: name: phi_s1_scc_s_sbranch1259  ; FAST: bb.0:1260  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1261  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr21262  ; FAST-NEXT: {{  $}}1263  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01264  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr11265  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr21266  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01267  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]1268  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1269  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1270  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1271  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1272  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)1273  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11274  ; FAST-NEXT:   G_BR %bb.21275  ; FAST-NEXT: {{  $}}1276  ; FAST-NEXT: bb.1:1277  ; FAST-NEXT:   successors: %bb.2(0x80000000)1278  ; FAST-NEXT: {{  $}}1279  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)1280  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1281  ; FAST-NEXT:   G_BR %bb.21282  ; FAST-NEXT: {{  $}}1283  ; FAST-NEXT: bb.2:1284  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11285  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)1286  ; FAST-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)1287  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]1288  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1289  ; GREEDY-LABEL: name: phi_s1_scc_s_sbranch1290  ; GREEDY: bb.0:1291  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1292  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr21293  ; GREEDY-NEXT: {{  $}}1294  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01295  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr11296  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr21297  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01298  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]1299  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1300  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1301  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1302  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1303  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)1304  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11305  ; GREEDY-NEXT:   G_BR %bb.21306  ; GREEDY-NEXT: {{  $}}1307  ; GREEDY-NEXT: bb.1:1308  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1309  ; GREEDY-NEXT: {{  $}}1310  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)1311  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1312  ; GREEDY-NEXT:   G_BR %bb.21313  ; GREEDY-NEXT: {{  $}}1314  ; GREEDY-NEXT: bb.2:1315  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11316  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)1317  ; GREEDY-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)1318  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]1319  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1320  bb.0:1321    successors: %bb.1, %bb.21322    liveins: $sgpr0, $sgpr1, $sgpr21323 1324    %0:_(s32) = COPY $sgpr01325    %1:_(s32) = COPY $sgpr11326    %2:_(s32) = COPY $sgpr21327    %3:_(s32) = G_CONSTANT i32 01328    %4:_(s1) = G_ICMP intpred(eq), %0, %31329    %5:_(s1) = G_ICMP intpred(eq), %2, %31330    G_BRCOND %5, %bb.11331    G_BR %bb.21332 1333  bb.1:1334    successors: %bb.21335 1336    %6:_(s1) = G_TRUNC %11337    G_BR %bb.21338 1339  bb.2:1340    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11341    %8:_(s32) = G_SELECT %7, %3, %01342    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81343 1344...1345 1346---1347name: phi_s1_scc_v_sbranch1348legalized: true1349tracksRegLiveness: true1350 1351body: |1352  ; FAST-LABEL: name: phi_s1_scc_v_sbranch1353  ; FAST: bb.0:1354  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1355  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1, $sgpr21356  ; FAST-NEXT: {{  $}}1357  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01358  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr01359  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr21360  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01361  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]1362  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1363  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1364  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1365  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1366  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1367  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11368  ; FAST-NEXT:   G_BR %bb.21369  ; FAST-NEXT: {{  $}}1370  ; FAST-NEXT: bb.1:1371  ; FAST-NEXT:   successors: %bb.2(0x80000000)1372  ; FAST-NEXT: {{  $}}1373  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)1374  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1375  ; FAST-NEXT:   G_BR %bb.21376  ; FAST-NEXT: {{  $}}1377  ; FAST-NEXT: bb.2:1378  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11379  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1380  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1381  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1382  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)1383  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY5]]1384  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1385  ; GREEDY-LABEL: name: phi_s1_scc_v_sbranch1386  ; GREEDY: bb.0:1387  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1388  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1, $sgpr21389  ; GREEDY-NEXT: {{  $}}1390  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01391  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr01392  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr21393  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01394  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]1395  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1396  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1397  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1398  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1399  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1400  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11401  ; GREEDY-NEXT:   G_BR %bb.21402  ; GREEDY-NEXT: {{  $}}1403  ; GREEDY-NEXT: bb.1:1404  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1405  ; GREEDY-NEXT: {{  $}}1406  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)1407  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1408  ; GREEDY-NEXT:   G_BR %bb.21409  ; GREEDY-NEXT: {{  $}}1410  ; GREEDY-NEXT: bb.2:1411  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11412  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1413  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1414  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1415  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)1416  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY5]]1417  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1418  bb.0:1419    successors: %bb.1, %bb.21420    liveins: $vgpr0, $sgpr0, $sgpr1, $sgpr21421 1422    %0:_(s32) = COPY $sgpr01423    %1:_(s32) = COPY $vgpr01424    %2:_(s32) = COPY $sgpr21425    %3:_(s32) = G_CONSTANT i32 01426    %4:_(s1) = G_ICMP intpred(eq), %0, %31427    %5:_(s1) = G_ICMP intpred(eq), %2, %31428    G_BRCOND %5, %bb.11429    G_BR %bb.21430 1431  bb.1:1432    successors: %bb.21433 1434    %6:_(s1) = G_TRUNC %11435    G_BR %bb.21436 1437  bb.2:1438    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11439    %8:_(s32) = G_SELECT %7, %3, %01440    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81441 1442...1443 1444---1445name: phi_s1_v_scc_sbranch1446legalized: true1447tracksRegLiveness: true1448 1449body: |1450  ; FAST-LABEL: name: phi_s1_v_scc_sbranch1451  ; FAST: bb.0:1452  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1453  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11454  ; FAST-NEXT: {{  $}}1455  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01456  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr01457  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11458  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01459  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1460  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1461  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1462  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1463  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1464  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11465  ; FAST-NEXT:   G_BR %bb.21466  ; FAST-NEXT: {{  $}}1467  ; FAST-NEXT: bb.1:1468  ; FAST-NEXT:   successors: %bb.2(0x80000000)1469  ; FAST-NEXT: {{  $}}1470  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]1471  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1472  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1473  ; FAST-NEXT:   G_BR %bb.21474  ; FAST-NEXT: {{  $}}1475  ; FAST-NEXT: bb.2:1476  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11477  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1478  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1479  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1480  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]1481  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1482  ; GREEDY-LABEL: name: phi_s1_v_scc_sbranch1483  ; GREEDY: bb.0:1484  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1485  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11486  ; GREEDY-NEXT: {{  $}}1487  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01488  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr01489  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11490  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01491  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1492  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1493  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1494  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1495  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1496  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11497  ; GREEDY-NEXT:   G_BR %bb.21498  ; GREEDY-NEXT: {{  $}}1499  ; GREEDY-NEXT: bb.1:1500  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1501  ; GREEDY-NEXT: {{  $}}1502  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]1503  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1504  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1505  ; GREEDY-NEXT:   G_BR %bb.21506  ; GREEDY-NEXT: {{  $}}1507  ; GREEDY-NEXT: bb.2:1508  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11509  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1510  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1511  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1512  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]1513  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1514  bb.0:1515    successors: %bb.1, %bb.21516    liveins: $vgpr0, $sgpr0, $sgpr11517 1518    %0:_(s32) = COPY $vgpr01519    %1:_(s32) = COPY $sgpr01520    %2:_(s32) = COPY $sgpr11521    %3:_(s32) = G_CONSTANT i32 01522    %4:_(s1) = G_TRUNC %01523    %5:_(s1) = G_ICMP intpred(eq), %2, %31524    G_BRCOND %5, %bb.11525    G_BR %bb.21526 1527  bb.1:1528    successors: %bb.21529 1530    %6:_(s1) = G_ICMP intpred(eq), %1, %31531    G_BR %bb.21532 1533  bb.2:1534    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11535    %8:_(s32) = G_SELECT %7, %3, %01536    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81537 1538...1539 1540---1541name: phi_s1_vcc_s_sbranch1542legalized: true1543tracksRegLiveness: true1544 1545body: |1546  ; FAST-LABEL: name: phi_s1_vcc_s_sbranch1547  ; FAST: bb.0:1548  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1549  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11550  ; FAST-NEXT: {{  $}}1551  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01552  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr01553  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11554  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01555  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1556  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]1557  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1558  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1559  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)1560  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11561  ; FAST-NEXT:   G_BR %bb.21562  ; FAST-NEXT: {{  $}}1563  ; FAST-NEXT: bb.1:1564  ; FAST-NEXT:   successors: %bb.2(0x80000000)1565  ; FAST-NEXT: {{  $}}1566  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)1567  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC1]](s1)1568  ; FAST-NEXT:   G_BR %bb.21569  ; FAST-NEXT: {{  $}}1570  ; FAST-NEXT: bb.2:1571  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[COPY4]](s1), %bb.11572  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1573  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY]]1574  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1575  ; GREEDY-LABEL: name: phi_s1_vcc_s_sbranch1576  ; GREEDY: bb.0:1577  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1578  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11579  ; GREEDY-NEXT: {{  $}}1580  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01581  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr01582  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11583  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01584  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1585  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]1586  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1587  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1588  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)1589  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11590  ; GREEDY-NEXT:   G_BR %bb.21591  ; GREEDY-NEXT: {{  $}}1592  ; GREEDY-NEXT: bb.1:1593  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1594  ; GREEDY-NEXT: {{  $}}1595  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)1596  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC1]](s1)1597  ; GREEDY-NEXT:   G_BR %bb.21598  ; GREEDY-NEXT: {{  $}}1599  ; GREEDY-NEXT: bb.2:1600  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[COPY4]](s1), %bb.11601  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1602  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY]]1603  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1604  bb.0:1605    successors: %bb.1, %bb.21606    liveins: $vgpr0, $sgpr0, $sgpr11607 1608    %0:_(s32) = COPY $vgpr01609    %1:_(s32) = COPY $sgpr01610    %2:_(s32) = COPY $sgpr11611    %3:_(s32) = G_CONSTANT i32 01612    %4:_(s1) = G_ICMP intpred(eq), %0, %31613    %5:_(s1) = G_ICMP intpred(eq), %2, %31614    G_BRCOND %5, %bb.11615    G_BR %bb.21616 1617  bb.1:1618    successors: %bb.21619 1620    %6:_(s1) = G_TRUNC %11621    G_BR %bb.21622 1623  bb.2:1624    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11625    %8:_(s32) = G_SELECT %7, %3, %01626    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81627 1628...1629 1630---1631name: phi_s1_s_vcc_sbranch1632legalized: true1633tracksRegLiveness: true1634 1635body: |1636  ; FAST-LABEL: name: phi_s1_s_vcc_sbranch1637  ; FAST: bb.0:1638  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1639  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11640  ; FAST-NEXT: {{  $}}1641  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01642  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr01643  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11644  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01645  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)1646  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1647  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1648  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1649  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)1650  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11651  ; FAST-NEXT:   G_BR %bb.21652  ; FAST-NEXT: {{  $}}1653  ; FAST-NEXT: bb.1:1654  ; FAST-NEXT:   successors: %bb.2(0x80000000)1655  ; FAST-NEXT: {{  $}}1656  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1657  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]1658  ; FAST-NEXT:   G_BR %bb.21659  ; FAST-NEXT: {{  $}}1660  ; FAST-NEXT: bb.2:1661  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[COPY3]](s1), %bb.0, [[ICMP1]](s1), %bb.11662  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1663  ; FAST-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)1664  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]1665  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1666  ; GREEDY-LABEL: name: phi_s1_s_vcc_sbranch1667  ; GREEDY: bb.0:1668  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1669  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11670  ; GREEDY-NEXT: {{  $}}1671  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01672  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr01673  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11674  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01675  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)1676  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1677  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1678  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1679  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)1680  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11681  ; GREEDY-NEXT:   G_BR %bb.21682  ; GREEDY-NEXT: {{  $}}1683  ; GREEDY-NEXT: bb.1:1684  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1685  ; GREEDY-NEXT: {{  $}}1686  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1687  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]1688  ; GREEDY-NEXT:   G_BR %bb.21689  ; GREEDY-NEXT: {{  $}}1690  ; GREEDY-NEXT: bb.2:1691  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[COPY3]](s1), %bb.0, [[ICMP1]](s1), %bb.11692  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1693  ; GREEDY-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)1694  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]1695  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1696  bb.0:1697    successors: %bb.1, %bb.21698    liveins: $vgpr0, $sgpr0, $sgpr11699 1700    %0:_(s32) = COPY $sgpr01701    %1:_(s32) = COPY $vgpr01702    %2:_(s32) = COPY $sgpr11703    %3:_(s32) = G_CONSTANT i32 01704    %4:_(s1) = G_TRUNC %01705    %5:_(s1) = G_ICMP intpred(eq), %2, %31706    G_BRCOND %5, %bb.11707    G_BR %bb.21708 1709  bb.1:1710    successors: %bb.21711 1712    %6:_(s1) = G_ICMP intpred(eq), %1, %31713    G_BR %bb.21714 1715  bb.2:1716    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11717    %8:_(s32) = G_SELECT %7, %3, %01718    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81719 1720...1721 1722---1723name: phi_s1_vcc_v_sbranch1724legalized: true1725tracksRegLiveness: true1726 1727body: |1728  ; FAST-LABEL: name: phi_s1_vcc_v_sbranch1729  ; FAST: bb.0:1730  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1731  ; FAST-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01732  ; FAST-NEXT: {{  $}}1733  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01734  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11735  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01736  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01737  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1738  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]1739  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1740  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1741  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)1742  ; FAST-NEXT:   [[C1:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 11743  ; FAST-NEXT:   [[C2:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 01744  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[ICMP]](s1), [[C1]], [[C2]]1745  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11746  ; FAST-NEXT:   G_BR %bb.21747  ; FAST-NEXT: {{  $}}1748  ; FAST-NEXT: bb.1:1749  ; FAST-NEXT:   successors: %bb.2(0x80000000)1750  ; FAST-NEXT: {{  $}}1751  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)1752  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC1]](s1)1753  ; FAST-NEXT:   G_BR %bb.21754  ; FAST-NEXT: {{  $}}1755  ; FAST-NEXT: bb.2:1756  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[SELECT]](s32), %bb.0, [[ANYEXT]](s32), %bb.11757  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1758  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC2]](s1)1759  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1760  ; FAST-NEXT:   [[SELECT1:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY4]](s1), [[COPY5]], [[COPY]]1761  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT1]](s32)1762  ; GREEDY-LABEL: name: phi_s1_vcc_v_sbranch1763  ; GREEDY: bb.0:1764  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1765  ; GREEDY-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01766  ; GREEDY-NEXT: {{  $}}1767  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01768  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11769  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01770  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01771  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1772  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]1773  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1774  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1775  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)1776  ; GREEDY-NEXT:   [[C1:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 11777  ; GREEDY-NEXT:   [[C2:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 01778  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[ICMP]](s1), [[C1]], [[C2]]1779  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11780  ; GREEDY-NEXT:   G_BR %bb.21781  ; GREEDY-NEXT: {{  $}}1782  ; GREEDY-NEXT: bb.1:1783  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1784  ; GREEDY-NEXT: {{  $}}1785  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)1786  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC1]](s1)1787  ; GREEDY-NEXT:   G_BR %bb.21788  ; GREEDY-NEXT: {{  $}}1789  ; GREEDY-NEXT: bb.2:1790  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[SELECT]](s32), %bb.0, [[ANYEXT]](s32), %bb.11791  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1792  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC2]](s1)1793  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1794  ; GREEDY-NEXT:   [[SELECT1:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY4]](s1), [[COPY5]], [[COPY]]1795  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT1]](s32)1796  bb.0:1797    successors: %bb.1, %bb.21798    liveins: $vgpr0, $vgpr1, $sgpr01799 1800    %0:_(s32) = COPY $vgpr01801    %1:_(s32) = COPY $vgpr11802    %2:_(s32) = COPY $sgpr01803    %3:_(s32) = G_CONSTANT i32 01804    %4:_(s1) = G_ICMP intpred(eq), %0, %31805    %5:_(s1) = G_ICMP intpred(eq), %2, %31806    G_BRCOND %5, %bb.11807    G_BR %bb.21808 1809  bb.1:1810    successors: %bb.21811 1812    %6:_(s1) = G_TRUNC %11813    G_BR %bb.21814 1815  bb.2:1816    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11817    %8:_(s32) = G_SELECT %7, %3, %01818    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81819 1820...1821 1822---1823name: phi_s1_v_vcc_sbranch1824legalized: true1825tracksRegLiveness: true1826 1827body: |1828  ; FAST-LABEL: name: phi_s1_v_vcc_sbranch1829  ; FAST: bb.0:1830  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1831  ; FAST-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01832  ; FAST-NEXT: {{  $}}1833  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01834  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11835  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01836  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01837  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1838  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1839  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1840  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1841  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1842  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11843  ; FAST-NEXT:   G_BR %bb.21844  ; FAST-NEXT: {{  $}}1845  ; FAST-NEXT: bb.1:1846  ; FAST-NEXT:   successors: %bb.2(0x80000000)1847  ; FAST-NEXT: {{  $}}1848  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1849  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]1850  ; FAST-NEXT:   [[C1:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 11851  ; FAST-NEXT:   [[C2:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 01852  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[ICMP1]](s1), [[C1]], [[C2]]1853  ; FAST-NEXT:   G_BR %bb.21854  ; FAST-NEXT: {{  $}}1855  ; FAST-NEXT: bb.2:1856  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[SELECT]](s32), %bb.11857  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1858  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC2]](s1)1859  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1860  ; FAST-NEXT:   [[SELECT1:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY4]](s1), [[COPY5]], [[COPY]]1861  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT1]](s32)1862  ; GREEDY-LABEL: name: phi_s1_v_vcc_sbranch1863  ; GREEDY: bb.0:1864  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1865  ; GREEDY-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01866  ; GREEDY-NEXT: {{  $}}1867  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01868  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11869  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01870  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01871  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1872  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1873  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1874  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1875  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1876  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11877  ; GREEDY-NEXT:   G_BR %bb.21878  ; GREEDY-NEXT: {{  $}}1879  ; GREEDY-NEXT: bb.1:1880  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1881  ; GREEDY-NEXT: {{  $}}1882  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1883  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]1884  ; GREEDY-NEXT:   [[C1:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 11885  ; GREEDY-NEXT:   [[C2:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 01886  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[ICMP1]](s1), [[C1]], [[C2]]1887  ; GREEDY-NEXT:   G_BR %bb.21888  ; GREEDY-NEXT: {{  $}}1889  ; GREEDY-NEXT: bb.2:1890  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[SELECT]](s32), %bb.11891  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1892  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC2]](s1)1893  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1894  ; GREEDY-NEXT:   [[SELECT1:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY4]](s1), [[COPY5]], [[COPY]]1895  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT1]](s32)1896  bb.0:1897    successors: %bb.1, %bb.21898    liveins: $vgpr0, $vgpr1, $sgpr01899 1900    %0:_(s32) = COPY $vgpr01901    %1:_(s32) = COPY $vgpr11902    %2:_(s32) = COPY $sgpr01903    %3:_(s32) = G_CONSTANT i32 01904    %4:_(s1) = G_TRUNC %01905    %5:_(s1) = G_ICMP intpred(eq), %2, %31906    G_BRCOND %5, %bb.11907    G_BR %bb.21908 1909  bb.1:1910    successors: %bb.21911 1912    %6:_(s1) = G_ICMP intpred(eq), %1, %31913    G_BR %bb.21914 1915  bb.2:1916    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11917    %8:_(s32) = G_SELECT %7, %3, %01918    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81919 1920...1921 1922---1923name: phi_s1_v_s_sbranch1924legalized: true1925tracksRegLiveness: true1926 1927body: |1928  ; FAST-LABEL: name: phi_s1_v_s_sbranch1929  ; FAST: bb.0:1930  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1931  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11932  ; FAST-NEXT: {{  $}}1933  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01934  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr01935  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11936  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01937  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1938  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1939  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1940  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1941  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1942  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11943  ; FAST-NEXT:   G_BR %bb.21944  ; FAST-NEXT: {{  $}}1945  ; FAST-NEXT: bb.1:1946  ; FAST-NEXT:   successors: %bb.2(0x80000000)1947  ; FAST-NEXT: {{  $}}1948  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)1949  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1950  ; FAST-NEXT:   G_BR %bb.21951  ; FAST-NEXT: {{  $}}1952  ; FAST-NEXT: bb.2:1953  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11954  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1955  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1956  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1957  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]1958  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1959  ; GREEDY-LABEL: name: phi_s1_v_s_sbranch1960  ; GREEDY: bb.0:1961  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1962  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11963  ; GREEDY-NEXT: {{  $}}1964  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01965  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr01966  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11967  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01968  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1969  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1970  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1971  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1972  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1973  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11974  ; GREEDY-NEXT:   G_BR %bb.21975  ; GREEDY-NEXT: {{  $}}1976  ; GREEDY-NEXT: bb.1:1977  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1978  ; GREEDY-NEXT: {{  $}}1979  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)1980  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1981  ; GREEDY-NEXT:   G_BR %bb.21982  ; GREEDY-NEXT: {{  $}}1983  ; GREEDY-NEXT: bb.2:1984  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11985  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1986  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1987  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1988  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]1989  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1990  bb.0:1991    successors: %bb.1, %bb.21992    liveins: $vgpr0, $sgpr0, $sgpr11993 1994    %0:_(s32) = COPY $vgpr01995    %1:_(s32) = COPY $sgpr01996    %2:_(s32) = COPY $sgpr11997    %3:_(s32) = G_CONSTANT i32 01998    %4:_(s1) = G_TRUNC %01999    %5:_(s1) = G_ICMP intpred(eq), %2, %32000    G_BRCOND %5, %bb.12001    G_BR %bb.22002 2003  bb.1:2004    successors: %bb.22005 2006    %6:_(s1) = G_TRUNC %12007    G_BR %bb.22008 2009  bb.2:2010    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.12011    %8:_(s32) = G_SELECT %7, %3, %02012    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %82013 2014...2015 2016---2017name: phi_s1_s_v_sbranch2018legalized: true2019tracksRegLiveness: true2020 2021body: |2022  ; FAST-LABEL: name: phi_s1_s_v_sbranch2023  ; FAST: bb.0:2024  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2025  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr12026  ; FAST-NEXT: {{  $}}2027  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02028  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr02029  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr12030  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02031  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)2032  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2033  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2034  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)2035  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)2036  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12037  ; FAST-NEXT:   G_BR %bb.22038  ; FAST-NEXT: {{  $}}2039  ; FAST-NEXT: bb.1:2040  ; FAST-NEXT:   successors: %bb.2(0x80000000)2041  ; FAST-NEXT: {{  $}}2042  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)2043  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)2044  ; FAST-NEXT:   G_BR %bb.22045  ; FAST-NEXT: {{  $}}2046  ; FAST-NEXT: bb.2:2047  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.12048  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)2049  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)2050  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)2051  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)2052  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY5]]2053  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)2054  ; GREEDY-LABEL: name: phi_s1_s_v_sbranch2055  ; GREEDY: bb.0:2056  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2057  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr12058  ; GREEDY-NEXT: {{  $}}2059  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02060  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr02061  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr12062  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02063  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)2064  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2065  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2066  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)2067  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)2068  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12069  ; GREEDY-NEXT:   G_BR %bb.22070  ; GREEDY-NEXT: {{  $}}2071  ; GREEDY-NEXT: bb.1:2072  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)2073  ; GREEDY-NEXT: {{  $}}2074  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)2075  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)2076  ; GREEDY-NEXT:   G_BR %bb.22077  ; GREEDY-NEXT: {{  $}}2078  ; GREEDY-NEXT: bb.2:2079  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.12080  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)2081  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)2082  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)2083  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)2084  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY5]]2085  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)2086  bb.0:2087    successors: %bb.1, %bb.22088    liveins: $vgpr0, $sgpr0, $sgpr12089 2090    %0:_(s32) = COPY $sgpr02091    %1:_(s32) = COPY $vgpr02092    %2:_(s32) = COPY $sgpr12093    %3:_(s32) = G_CONSTANT i32 02094    %4:_(s1) = G_TRUNC %02095    %5:_(s1) = G_ICMP intpred(eq), %2, %32096    G_BRCOND %5, %bb.12097    G_BR %bb.22098 2099  bb.1:2100    successors: %bb.22101 2102    %6:_(s1) = G_TRUNC %12103    G_BR %bb.22104 2105  bb.2:2106    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.12107    %8:_(s32) = G_SELECT %7, %3, %02108    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %82109 2110...2111 2112---2113name: phi_s1_v_v_sbranch2114legalized: true2115tracksRegLiveness: true2116 2117body: |2118  ; FAST-LABEL: name: phi_s1_v_v_sbranch2119  ; FAST: bb.0:2120  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2121  ; FAST-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr02122  ; FAST-NEXT: {{  $}}2123  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr02124  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr12125  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr02126  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02127  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)2128  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2129  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2130  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)2131  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)2132  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12133  ; FAST-NEXT:   G_BR %bb.22134  ; FAST-NEXT: {{  $}}2135  ; FAST-NEXT: bb.1:2136  ; FAST-NEXT:   successors: %bb.2(0x80000000)2137  ; FAST-NEXT: {{  $}}2138  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)2139  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)2140  ; FAST-NEXT:   G_BR %bb.22141  ; FAST-NEXT: {{  $}}2142  ; FAST-NEXT: bb.2:2143  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.12144  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)2145  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)2146  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)2147  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]2148  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)2149  ; GREEDY-LABEL: name: phi_s1_v_v_sbranch2150  ; GREEDY: bb.0:2151  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2152  ; GREEDY-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr02153  ; GREEDY-NEXT: {{  $}}2154  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr02155  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr12156  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr02157  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02158  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)2159  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2160  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2161  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)2162  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)2163  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12164  ; GREEDY-NEXT:   G_BR %bb.22165  ; GREEDY-NEXT: {{  $}}2166  ; GREEDY-NEXT: bb.1:2167  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)2168  ; GREEDY-NEXT: {{  $}}2169  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)2170  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)2171  ; GREEDY-NEXT:   G_BR %bb.22172  ; GREEDY-NEXT: {{  $}}2173  ; GREEDY-NEXT: bb.2:2174  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.12175  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)2176  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)2177  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)2178  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]2179  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)2180  bb.0:2181    successors: %bb.1, %bb.22182    liveins: $vgpr0, $vgpr1, $sgpr02183 2184    %0:_(s32) = COPY $vgpr02185    %1:_(s32) = COPY $vgpr12186    %2:_(s32) = COPY $sgpr02187    %3:_(s32) = G_CONSTANT i32 02188    %4:_(s1) = G_TRUNC %02189    %5:_(s1) = G_ICMP intpred(eq), %2, %32190    G_BRCOND %5, %bb.12191    G_BR %bb.22192 2193  bb.1:2194    successors: %bb.22195 2196    %6:_(s1) = G_TRUNC %12197    G_BR %bb.22198 2199  bb.2:2200    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.12201    %8:_(s32) = G_SELECT %7, %3, %02202    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %82203 2204...2205 2206---2207name: phi_s1_s_s_sbranch2208legalized: true2209tracksRegLiveness: true2210 2211body: |2212  ; FAST-LABEL: name: phi_s1_s_s_sbranch2213  ; FAST: bb.0:2214  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2215  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr22216  ; FAST-NEXT: {{  $}}2217  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02218  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr12219  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22220  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02221  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)2222  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2223  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2224  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)2225  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)2226  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12227  ; FAST-NEXT:   G_BR %bb.22228  ; FAST-NEXT: {{  $}}2229  ; FAST-NEXT: bb.1:2230  ; FAST-NEXT:   successors: %bb.2(0x80000000)2231  ; FAST-NEXT: {{  $}}2232  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)2233  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)2234  ; FAST-NEXT:   G_BR %bb.22235  ; FAST-NEXT: {{  $}}2236  ; FAST-NEXT: bb.2:2237  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.12238  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)2239  ; FAST-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)2240  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]2241  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)2242  ; GREEDY-LABEL: name: phi_s1_s_s_sbranch2243  ; GREEDY: bb.0:2244  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2245  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr22246  ; GREEDY-NEXT: {{  $}}2247  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02248  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr12249  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22250  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02251  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)2252  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2253  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2254  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)2255  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)2256  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12257  ; GREEDY-NEXT:   G_BR %bb.22258  ; GREEDY-NEXT: {{  $}}2259  ; GREEDY-NEXT: bb.1:2260  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)2261  ; GREEDY-NEXT: {{  $}}2262  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)2263  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)2264  ; GREEDY-NEXT:   G_BR %bb.22265  ; GREEDY-NEXT: {{  $}}2266  ; GREEDY-NEXT: bb.2:2267  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.12268  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)2269  ; GREEDY-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)2270  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]2271  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)2272  bb.0:2273    successors: %bb.1, %bb.22274    liveins: $sgpr0, $sgpr1, $sgpr22275 2276    %0:_(s32) = COPY $sgpr02277    %1:_(s32) = COPY $sgpr12278    %2:_(s32) = COPY $sgpr22279    %3:_(s32) = G_CONSTANT i32 02280    %4:_(s1) = G_TRUNC %02281    %5:_(s1) = G_ICMP intpred(eq), %2, %32282    G_BRCOND %5, %bb.12283    G_BR %bb.22284 2285  bb.1:2286    successors: %bb.22287 2288    %6:_(s1) = G_TRUNC %12289    G_BR %bb.22290 2291  bb.2:2292    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.12293    %8:_(s32) = G_SELECT %7, %3, %02294    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %82295 2296...2297 2298# Test a phi where the VGPR input is after the phi itself2299---2300name: phi_s32_s_loop_v_sbranch2301legalized: true2302tracksRegLiveness: true2303 2304body: |2305  ; FAST-LABEL: name: phi_s32_s_loop_v_sbranch2306  ; FAST: bb.0:2307  ; FAST-NEXT:   successors: %bb.1(0x80000000)2308  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $vgpr02309  ; FAST-NEXT: {{  $}}2310  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02311  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr12312  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr02313  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02314  ; FAST-NEXT:   G_BR %bb.12315  ; FAST-NEXT: {{  $}}2316  ; FAST-NEXT: bb.1:2317  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2318  ; FAST-NEXT: {{  $}}2319  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, %5(s32), %bb.12320  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY2]](s32)2321  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]2322  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2323  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2324  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12325  ; FAST-NEXT:   G_BR %bb.22326  ; FAST-NEXT: {{  $}}2327  ; FAST-NEXT: bb.2:2328  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[PHI]](s32)2329  ; GREEDY-LABEL: name: phi_s32_s_loop_v_sbranch2330  ; GREEDY: bb.0:2331  ; GREEDY-NEXT:   successors: %bb.1(0x80000000)2332  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $vgpr02333  ; GREEDY-NEXT: {{  $}}2334  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02335  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr12336  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr02337  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02338  ; GREEDY-NEXT:   G_BR %bb.12339  ; GREEDY-NEXT: {{  $}}2340  ; GREEDY-NEXT: bb.1:2341  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2342  ; GREEDY-NEXT: {{  $}}2343  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, %5(s32), %bb.12344  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY2]](s32)2345  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]2346  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2347  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2348  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12349  ; GREEDY-NEXT:   G_BR %bb.22350  ; GREEDY-NEXT: {{  $}}2351  ; GREEDY-NEXT: bb.2:2352  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[PHI]](s32)2353  bb.0:2354    successors: %bb.12355    liveins: $sgpr0, $sgpr1, $vgpr02356 2357    %0:_(s32) = COPY $sgpr02358    %1:_(s32) = COPY $sgpr12359    %2:_(s32) = COPY $vgpr02360    %3:_(s32) = G_CONSTANT i32 02361    G_BR %bb.12362 2363  bb.1:2364    successors: %bb.1, %bb.22365 2366    %4:_(s32) = G_PHI %0, %bb.0, %5, %bb.12367    %5:_(s32) = COPY %22368    %6:_(s1) = G_ICMP intpred(eq), %1, %32369    G_BRCOND %6, %bb.12370    G_BR %bb.22371 2372  bb.2:2373    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %42374 2375...2376 2377# Test a phi where an SGPR input is after the phi itself2378---2379name: phi_s32_s_loop_s_sbranch2380legalized: true2381tracksRegLiveness: true2382 2383body: |2384  ; FAST-LABEL: name: phi_s32_s_loop_s_sbranch2385  ; FAST: bb.0:2386  ; FAST-NEXT:   successors: %bb.1(0x80000000)2387  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr22388  ; FAST-NEXT: {{  $}}2389  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02390  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr12391  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22392  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02393  ; FAST-NEXT:   G_BR %bb.12394  ; FAST-NEXT: {{  $}}2395  ; FAST-NEXT: bb.1:2396  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2397  ; FAST-NEXT: {{  $}}2398  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, %5(s32), %bb.12399  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY [[COPY2]](s32)2400  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]2401  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2402  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2403  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12404  ; FAST-NEXT:   G_BR %bb.22405  ; FAST-NEXT: {{  $}}2406  ; FAST-NEXT: bb.2:2407  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[PHI]](s32)2408  ; GREEDY-LABEL: name: phi_s32_s_loop_s_sbranch2409  ; GREEDY: bb.0:2410  ; GREEDY-NEXT:   successors: %bb.1(0x80000000)2411  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr22412  ; GREEDY-NEXT: {{  $}}2413  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02414  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr12415  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22416  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02417  ; GREEDY-NEXT:   G_BR %bb.12418  ; GREEDY-NEXT: {{  $}}2419  ; GREEDY-NEXT: bb.1:2420  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2421  ; GREEDY-NEXT: {{  $}}2422  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, %5(s32), %bb.12423  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY [[COPY2]](s32)2424  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]2425  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2426  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2427  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12428  ; GREEDY-NEXT:   G_BR %bb.22429  ; GREEDY-NEXT: {{  $}}2430  ; GREEDY-NEXT: bb.2:2431  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[PHI]](s32)2432  bb.0:2433    successors: %bb.12434    liveins: $sgpr0, $sgpr1, $sgpr22435 2436    %0:_(s32) = COPY $sgpr02437    %1:_(s32) = COPY $sgpr12438    %2:_(s32) = COPY $sgpr22439    %3:_(s32) = G_CONSTANT i32 02440    G_BR %bb.12441 2442  bb.1:2443    successors: %bb.1, %bb.22444 2445    %4:_(s32) = G_PHI %0, %bb.0, %5, %bb.12446    %5:_(s32) = COPY %22447    %6:_(s1) = G_ICMP intpred(eq), %1, %32448    G_BRCOND %6, %bb.12449    G_BR %bb.22450 2451  bb.2:2452    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %42453 2454...2455 2456---2457name: phi_s32_ss_sbranch_cycle2458legalized: true2459tracksRegLiveness: true2460 2461body: |2462  ; FAST-LABEL: name: phi_s32_ss_sbranch_cycle2463  ; FAST: bb.0:2464  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2465  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr22466  ; FAST-NEXT: {{  $}}2467  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02468  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr12469  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22470  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02471  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2472  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2473  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2474  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12475  ; FAST-NEXT:   G_BR %bb.22476  ; FAST-NEXT: {{  $}}2477  ; FAST-NEXT: bb.1:2478  ; FAST-NEXT:   successors: %bb.2(0x80000000)2479  ; FAST-NEXT: {{  $}}2480  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, %6(s32), %bb.22481  ; FAST-NEXT:   G_BR %bb.22482  ; FAST-NEXT: {{  $}}2483  ; FAST-NEXT: bb.2:2484  ; FAST-NEXT:   successors: %bb.1(0x80000000)2485  ; FAST-NEXT: {{  $}}2486  ; FAST-NEXT:   [[PHI1:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[PHI]](s32), %bb.12487  ; FAST-NEXT:   G_BR %bb.12488  ; GREEDY-LABEL: name: phi_s32_ss_sbranch_cycle2489  ; GREEDY: bb.0:2490  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2491  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr22492  ; GREEDY-NEXT: {{  $}}2493  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02494  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr12495  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22496  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02497  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2498  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2499  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2500  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12501  ; GREEDY-NEXT:   G_BR %bb.22502  ; GREEDY-NEXT: {{  $}}2503  ; GREEDY-NEXT: bb.1:2504  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)2505  ; GREEDY-NEXT: {{  $}}2506  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, %6(s32), %bb.22507  ; GREEDY-NEXT:   G_BR %bb.22508  ; GREEDY-NEXT: {{  $}}2509  ; GREEDY-NEXT: bb.2:2510  ; GREEDY-NEXT:   successors: %bb.1(0x80000000)2511  ; GREEDY-NEXT: {{  $}}2512  ; GREEDY-NEXT:   [[PHI1:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[PHI]](s32), %bb.12513  ; GREEDY-NEXT:   G_BR %bb.12514  bb.0:2515    successors: %bb.1, %bb.22516    liveins: $sgpr0, $sgpr1, $sgpr22517 2518    %0:_(s32) = COPY $sgpr02519    %1:_(s32) = COPY $sgpr12520    %2:_(s32) = COPY $sgpr22521    %3:_(s32) = G_CONSTANT i32 02522    %4:_(s1) = G_ICMP intpred(eq), %2, %32523    G_BRCOND %4, %bb.12524    G_BR %bb.22525 2526  bb.1:2527    successors: %bb.22528    %5:_(s32) = G_PHI %0, %bb.0, %6, %bb.22529    G_BR %bb.22530 2531  bb.2:2532    successors: %bb.12533    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.12534    G_BR %bb.12535...2536 2537---2538name: phi_s32_vs_sbranch_cycle2539legalized: true2540tracksRegLiveness: true2541 2542body: |2543  ; FAST-LABEL: name: phi_s32_vs_sbranch_cycle2544  ; FAST: bb.0:2545  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2546  ; FAST-NEXT:   liveins: $vgpr0, $sgpr1, $sgpr22547  ; FAST-NEXT: {{  $}}2548  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr02549  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr12550  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22551  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02552  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2553  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2554  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2555  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12556  ; FAST-NEXT:   G_BR %bb.22557  ; FAST-NEXT: {{  $}}2558  ; FAST-NEXT: bb.1:2559  ; FAST-NEXT:   successors: %bb.2(0x80000000)2560  ; FAST-NEXT: {{  $}}2561  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, %6(s32), %bb.22562  ; FAST-NEXT:   G_BR %bb.22563  ; FAST-NEXT: {{  $}}2564  ; FAST-NEXT: bb.2:2565  ; FAST-NEXT:   successors: %bb.1(0x80000000)2566  ; FAST-NEXT: {{  $}}2567  ; FAST-NEXT:   [[PHI1:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[PHI]](s32), %bb.12568  ; FAST-NEXT:   G_BR %bb.12569  ; GREEDY-LABEL: name: phi_s32_vs_sbranch_cycle2570  ; GREEDY: bb.0:2571  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2572  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr1, $sgpr22573  ; GREEDY-NEXT: {{  $}}2574  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr02575  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr12576  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22577  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02578  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2579  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2580  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2581  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12582  ; GREEDY-NEXT:   G_BR %bb.22583  ; GREEDY-NEXT: {{  $}}2584  ; GREEDY-NEXT: bb.1:2585  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)2586  ; GREEDY-NEXT: {{  $}}2587  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, %6(s32), %bb.22588  ; GREEDY-NEXT:   G_BR %bb.22589  ; GREEDY-NEXT: {{  $}}2590  ; GREEDY-NEXT: bb.2:2591  ; GREEDY-NEXT:   successors: %bb.1(0x80000000)2592  ; GREEDY-NEXT: {{  $}}2593  ; GREEDY-NEXT:   [[PHI1:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[PHI]](s32), %bb.12594  ; GREEDY-NEXT:   G_BR %bb.12595  bb.0:2596    successors: %bb.1, %bb.22597    liveins: $vgpr0, $sgpr1, $sgpr22598 2599    %0:_(s32) = COPY $vgpr02600    %1:_(s32) = COPY $sgpr12601    %2:_(s32) = COPY $sgpr22602    %3:_(s32) = G_CONSTANT i32 02603    %4:_(s1) = G_ICMP intpred(eq), %2, %32604    G_BRCOND %4, %bb.12605    G_BR %bb.22606 2607  bb.1:2608    successors: %bb.22609    %5:_(s32) = G_PHI %0, %bb.0, %6, %bb.22610    G_BR %bb.22611 2612  bb.2:2613    successors: %bb.12614    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.12615    G_BR %bb.12616...2617 2618---2619name: phi_s32_aa_sbranch2620legalized: true2621tracksRegLiveness: true2622 2623body: |2624  ; FAST-LABEL: name: phi_s32_aa_sbranch2625  ; FAST: bb.0:2626  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2627  ; FAST-NEXT:   liveins: $agpr0, $agpr1, $sgpr22628  ; FAST-NEXT: {{  $}}2629  ; FAST-NEXT:   [[COPY:%[0-9]+]]:agpr(s32) = COPY $agpr02630  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:agpr(s32) = COPY $agpr12631  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22632  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02633  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2634  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2635  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2636  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12637  ; FAST-NEXT:   G_BR %bb.22638  ; FAST-NEXT: {{  $}}2639  ; FAST-NEXT: bb.1:2640  ; FAST-NEXT:   successors: %bb.2(0x80000000)2641  ; FAST-NEXT: {{  $}}2642  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:agpr(s32) = COPY [[COPY1]](s32)2643  ; FAST-NEXT:   G_BR %bb.22644  ; FAST-NEXT: {{  $}}2645  ; FAST-NEXT: bb.2:2646  ; FAST-NEXT:   [[PHI:%[0-9]+]]:agpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.12647  ; FAST-NEXT:   $agpr0 = COPY [[PHI]](s32)2648  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr312649  ; GREEDY-LABEL: name: phi_s32_aa_sbranch2650  ; GREEDY: bb.0:2651  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2652  ; GREEDY-NEXT:   liveins: $agpr0, $agpr1, $sgpr22653  ; GREEDY-NEXT: {{  $}}2654  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:agpr(s32) = COPY $agpr02655  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:agpr(s32) = COPY $agpr12656  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22657  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02658  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2659  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2660  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2661  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12662  ; GREEDY-NEXT:   G_BR %bb.22663  ; GREEDY-NEXT: {{  $}}2664  ; GREEDY-NEXT: bb.1:2665  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)2666  ; GREEDY-NEXT: {{  $}}2667  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:agpr(s32) = COPY [[COPY1]](s32)2668  ; GREEDY-NEXT:   G_BR %bb.22669  ; GREEDY-NEXT: {{  $}}2670  ; GREEDY-NEXT: bb.2:2671  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:agpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.12672  ; GREEDY-NEXT:   $agpr0 = COPY [[PHI]](s32)2673  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr312674  bb.0:2675    successors: %bb.1, %bb.22676    liveins: $agpr0, $agpr1, $sgpr22677 2678    %0:_(s32) = COPY $agpr02679    %1:_(s32) = COPY $agpr12680    %2:_(s32) = COPY $sgpr22681    %3:_(s32) = G_CONSTANT i32 02682    %4:_(s1) = G_ICMP intpred(eq), %2, %32683    G_BRCOND %4, %bb.12684    G_BR %bb.22685 2686  bb.1:2687    successors: %bb.22688 2689    %5:_(s32) = COPY %12690    G_BR %bb.22691 2692  bb.2:2693    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.12694    $agpr0 = COPY %62695    S_SETPC_B64 undef $sgpr30_sgpr312696 2697...2698 2699---2700name: phi_s32_av_sbranch2701legalized: true2702tracksRegLiveness: true2703 2704body: |2705  ; FAST-LABEL: name: phi_s32_av_sbranch2706  ; FAST: bb.0:2707  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2708  ; FAST-NEXT:   liveins: $agpr0, $vgpr0, $sgpr22709  ; FAST-NEXT: {{  $}}2710  ; FAST-NEXT:   [[COPY:%[0-9]+]]:agpr(s32) = COPY $agpr02711  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr02712  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22713  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02714  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2715  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2716  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2717  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12718  ; FAST-NEXT:   G_BR %bb.22719  ; FAST-NEXT: {{  $}}2720  ; FAST-NEXT: bb.1:2721  ; FAST-NEXT:   successors: %bb.2(0x80000000)2722  ; FAST-NEXT: {{  $}}2723  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)2724  ; FAST-NEXT:   G_BR %bb.22725  ; FAST-NEXT: {{  $}}2726  ; FAST-NEXT: bb.2:2727  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.12728  ; FAST-NEXT:   $agpr0 = COPY [[PHI]](s32)2729  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr312730  ; GREEDY-LABEL: name: phi_s32_av_sbranch2731  ; GREEDY: bb.0:2732  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2733  ; GREEDY-NEXT:   liveins: $agpr0, $vgpr0, $sgpr22734  ; GREEDY-NEXT: {{  $}}2735  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:agpr(s32) = COPY $agpr02736  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr02737  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22738  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02739  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2740  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2741  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2742  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12743  ; GREEDY-NEXT:   G_BR %bb.22744  ; GREEDY-NEXT: {{  $}}2745  ; GREEDY-NEXT: bb.1:2746  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)2747  ; GREEDY-NEXT: {{  $}}2748  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)2749  ; GREEDY-NEXT:   G_BR %bb.22750  ; GREEDY-NEXT: {{  $}}2751  ; GREEDY-NEXT: bb.2:2752  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.12753  ; GREEDY-NEXT:   $agpr0 = COPY [[PHI]](s32)2754  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr312755  bb.0:2756    successors: %bb.1, %bb.22757    liveins: $agpr0, $vgpr0, $sgpr22758 2759    %0:_(s32) = COPY $agpr02760    %1:_(s32) = COPY $vgpr02761    %2:_(s32) = COPY $sgpr22762    %3:_(s32) = G_CONSTANT i32 02763    %4:_(s1) = G_ICMP intpred(eq), %2, %32764    G_BRCOND %4, %bb.12765    G_BR %bb.22766 2767  bb.1:2768    successors: %bb.22769 2770    %5:_(s32) = COPY %12771    G_BR %bb.22772 2773  bb.2:2774    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.12775    $agpr0 = COPY %62776    S_SETPC_B64 undef $sgpr30_sgpr312777 2778...2779---2780name: phi_s32_va_sbranch2781legalized: true2782tracksRegLiveness: true2783 2784body: |2785  ; FAST-LABEL: name: phi_s32_va_sbranch2786  ; FAST: bb.0:2787  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2788  ; FAST-NEXT:   liveins: $agpr0, $vgpr0, $sgpr22789  ; FAST-NEXT: {{  $}}2790  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr02791  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:agpr(s32) = COPY $agpr02792  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22793  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02794  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2795  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2796  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2797  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12798  ; FAST-NEXT:   G_BR %bb.22799  ; FAST-NEXT: {{  $}}2800  ; FAST-NEXT: bb.1:2801  ; FAST-NEXT:   successors: %bb.2(0x80000000)2802  ; FAST-NEXT: {{  $}}2803  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:agpr(s32) = COPY [[COPY1]](s32)2804  ; FAST-NEXT:   G_BR %bb.22805  ; FAST-NEXT: {{  $}}2806  ; FAST-NEXT: bb.2:2807  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.12808  ; FAST-NEXT:   $agpr0 = COPY [[PHI]](s32)2809  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr312810  ; GREEDY-LABEL: name: phi_s32_va_sbranch2811  ; GREEDY: bb.0:2812  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2813  ; GREEDY-NEXT:   liveins: $agpr0, $vgpr0, $sgpr22814  ; GREEDY-NEXT: {{  $}}2815  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr02816  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:agpr(s32) = COPY $agpr02817  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22818  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02819  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2820  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2821  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2822  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12823  ; GREEDY-NEXT:   G_BR %bb.22824  ; GREEDY-NEXT: {{  $}}2825  ; GREEDY-NEXT: bb.1:2826  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)2827  ; GREEDY-NEXT: {{  $}}2828  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:agpr(s32) = COPY [[COPY1]](s32)2829  ; GREEDY-NEXT:   G_BR %bb.22830  ; GREEDY-NEXT: {{  $}}2831  ; GREEDY-NEXT: bb.2:2832  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.12833  ; GREEDY-NEXT:   $agpr0 = COPY [[PHI]](s32)2834  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr312835  bb.0:2836    successors: %bb.1, %bb.22837    liveins: $agpr0, $vgpr0, $sgpr22838 2839    %0:_(s32) = COPY $vgpr02840    %1:_(s32) = COPY $agpr02841    %2:_(s32) = COPY $sgpr22842    %3:_(s32) = G_CONSTANT i32 02843    %4:_(s1) = G_ICMP intpred(eq), %2, %32844    G_BRCOND %4, %bb.12845    G_BR %bb.22846 2847  bb.1:2848    successors: %bb.22849 2850    %5:_(s32) = COPY %12851    G_BR %bb.22852 2853  bb.2:2854    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.12855    $agpr0 = COPY %62856    S_SETPC_B64 undef $sgpr30_sgpr312857 2858...2859 2860---2861name: phi_s32_as_sbranch2862legalized: true2863tracksRegLiveness: true2864 2865body: |2866  ; FAST-LABEL: name: phi_s32_as_sbranch2867  ; FAST: bb.0:2868  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2869  ; FAST-NEXT:   liveins: $agpr0, $sgpr0, $sgpr22870  ; FAST-NEXT: {{  $}}2871  ; FAST-NEXT:   [[COPY:%[0-9]+]]:agpr(s32) = COPY $agpr02872  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr02873  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22874  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02875  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2876  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2877  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2878  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12879  ; FAST-NEXT:   G_BR %bb.22880  ; FAST-NEXT: {{  $}}2881  ; FAST-NEXT: bb.1:2882  ; FAST-NEXT:   successors: %bb.2(0x80000000)2883  ; FAST-NEXT: {{  $}}2884  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY [[COPY1]](s32)2885  ; FAST-NEXT:   G_BR %bb.22886  ; FAST-NEXT: {{  $}}2887  ; FAST-NEXT: bb.2:2888  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.12889  ; FAST-NEXT:   $agpr0 = COPY [[PHI]](s32)2890  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr312891  ; GREEDY-LABEL: name: phi_s32_as_sbranch2892  ; GREEDY: bb.0:2893  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2894  ; GREEDY-NEXT:   liveins: $agpr0, $sgpr0, $sgpr22895  ; GREEDY-NEXT: {{  $}}2896  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:agpr(s32) = COPY $agpr02897  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr02898  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22899  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02900  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2901  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2902  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2903  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12904  ; GREEDY-NEXT:   G_BR %bb.22905  ; GREEDY-NEXT: {{  $}}2906  ; GREEDY-NEXT: bb.1:2907  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)2908  ; GREEDY-NEXT: {{  $}}2909  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY [[COPY1]](s32)2910  ; GREEDY-NEXT:   G_BR %bb.22911  ; GREEDY-NEXT: {{  $}}2912  ; GREEDY-NEXT: bb.2:2913  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.12914  ; GREEDY-NEXT:   $agpr0 = COPY [[PHI]](s32)2915  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr312916  bb.0:2917    successors: %bb.1, %bb.22918    liveins: $agpr0, $sgpr0, $sgpr22919 2920    %0:_(s32) = COPY $agpr02921    %1:_(s32) = COPY $sgpr02922    %2:_(s32) = COPY $sgpr22923    %3:_(s32) = G_CONSTANT i32 02924    %4:_(s1) = G_ICMP intpred(eq), %2, %32925    G_BRCOND %4, %bb.12926    G_BR %bb.22927 2928  bb.1:2929    successors: %bb.22930 2931    %5:_(s32) = COPY %12932    G_BR %bb.22933 2934  bb.2:2935    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.12936    $agpr0 = COPY %62937    S_SETPC_B64 undef $sgpr30_sgpr312938 2939...2940 2941---2942name: phi_s32_sa_sbranch2943legalized: true2944tracksRegLiveness: true2945 2946body: |2947  ; FAST-LABEL: name: phi_s32_sa_sbranch2948  ; FAST: bb.0:2949  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2950  ; FAST-NEXT:   liveins: $agpr0, $sgpr0, $sgpr22951  ; FAST-NEXT: {{  $}}2952  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02953  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:agpr(s32) = COPY $agpr02954  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22955  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02956  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2957  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2958  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2959  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12960  ; FAST-NEXT:   G_BR %bb.22961  ; FAST-NEXT: {{  $}}2962  ; FAST-NEXT: bb.1:2963  ; FAST-NEXT:   successors: %bb.2(0x80000000)2964  ; FAST-NEXT: {{  $}}2965  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:agpr(s32) = COPY [[COPY1]](s32)2966  ; FAST-NEXT:   G_BR %bb.22967  ; FAST-NEXT: {{  $}}2968  ; FAST-NEXT: bb.2:2969  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.12970  ; FAST-NEXT:   $agpr0 = COPY [[PHI]](s32)2971  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr312972  ; GREEDY-LABEL: name: phi_s32_sa_sbranch2973  ; GREEDY: bb.0:2974  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2975  ; GREEDY-NEXT:   liveins: $agpr0, $sgpr0, $sgpr22976  ; GREEDY-NEXT: {{  $}}2977  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr02978  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:agpr(s32) = COPY $agpr02979  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr22980  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 02981  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]2982  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)2983  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)2984  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.12985  ; GREEDY-NEXT:   G_BR %bb.22986  ; GREEDY-NEXT: {{  $}}2987  ; GREEDY-NEXT: bb.1:2988  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)2989  ; GREEDY-NEXT: {{  $}}2990  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:agpr(s32) = COPY [[COPY1]](s32)2991  ; GREEDY-NEXT:   G_BR %bb.22992  ; GREEDY-NEXT: {{  $}}2993  ; GREEDY-NEXT: bb.2:2994  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[COPY]](s32), %bb.0, [[COPY3]](s32), %bb.12995  ; GREEDY-NEXT:   $agpr0 = COPY [[PHI]](s32)2996  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr312997  bb.0:2998    successors: %bb.1, %bb.22999    liveins: $agpr0, $sgpr0, $sgpr23000 3001    %0:_(s32) = COPY $sgpr03002    %1:_(s32) = COPY $agpr03003    %2:_(s32) = COPY $sgpr23004    %3:_(s32) = G_CONSTANT i32 03005    %4:_(s1) = G_ICMP intpred(eq), %2, %33006    G_BRCOND %4, %bb.13007    G_BR %bb.23008 3009  bb.1:3010    successors: %bb.23011 3012    %5:_(s32) = COPY %13013    G_BR %bb.23014 3015  bb.2:3016    %6:_(s32) = G_PHI %0, %bb.0, %5, %bb.13017    $agpr0 = COPY %63018    S_SETPC_B64 undef $sgpr30_sgpr313019 3020...3021