brintos

brintos / llvm-project-archived public Read only

0
0
Text · 74.7 KiB · 39e421c Raw
1758 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck -check-prefix=FAST %s3# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck -check-prefix=GREEDY %s4 5---6name: phi_s1_scc_scc_sbranch7legalized: true8tracksRegLiveness: true9 10body: |11  ; FAST-LABEL: name: phi_s1_scc_scc_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), [[COPY]](s32), [[C]]21  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)22  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]23  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)24  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)25  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)26  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.127  ; FAST-NEXT:   G_BR %bb.228  ; FAST-NEXT: {{  $}}29  ; FAST-NEXT: bb.1:30  ; FAST-NEXT:   successors: %bb.2(0x80000000)31  ; FAST-NEXT: {{  $}}32  ; FAST-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]33  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)34  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)35  ; FAST-NEXT:   G_BR %bb.236  ; FAST-NEXT: {{  $}}37  ; FAST-NEXT: bb.2:38  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.139  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)40  ; FAST-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)41  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]42  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)43  ; GREEDY-LABEL: name: phi_s1_scc_scc_sbranch44  ; GREEDY: bb.0:45  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)46  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr247  ; GREEDY-NEXT: {{  $}}48  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr049  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr150  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr251  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 052  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]53  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)54  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]55  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)56  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)57  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)58  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.159  ; GREEDY-NEXT:   G_BR %bb.260  ; GREEDY-NEXT: {{  $}}61  ; GREEDY-NEXT: bb.1:62  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)63  ; GREEDY-NEXT: {{  $}}64  ; GREEDY-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]65  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)66  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)67  ; GREEDY-NEXT:   G_BR %bb.268  ; GREEDY-NEXT: {{  $}}69  ; GREEDY-NEXT: bb.2:70  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.171  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)72  ; GREEDY-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)73  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]74  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)75  bb.0:76    successors: %bb.1, %bb.277    liveins: $sgpr0, $sgpr1, $sgpr278 79    %0:_(s32) = COPY $sgpr080    %1:_(s32) = COPY $sgpr181    %2:_(s32) = COPY $sgpr282    %3:_(s32) = G_CONSTANT i32 083    %4:_(s1) = G_ICMP intpred(eq), %0, %384    %5:_(s1) = G_ICMP intpred(eq), %2, %385    G_BRCOND %5, %bb.186    G_BR %bb.287 88  bb.1:89    successors: %bb.290 91    %6:_(s1) = G_ICMP intpred(eq), %1, %392    G_BR %bb.293 94  bb.2:95    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.196    %8:_(s32) = G_SELECT %7, %3, %097    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %898 99...100 101---102name: phi_s1_scc_scc_scc_sbranch103legalized: true104tracksRegLiveness: true105 106body: |107  ; FAST-LABEL: name: phi_s1_scc_scc_scc_sbranch108  ; FAST: bb.0:109  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.3(0x40000000)110  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr2, $sgpr3111  ; FAST-NEXT: {{  $}}112  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0113  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1114  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2115  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY $sgpr3116  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0117  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]118  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)119  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]120  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)121  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)122  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)123  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.3124  ; FAST-NEXT:   G_BR %bb.1125  ; FAST-NEXT: {{  $}}126  ; FAST-NEXT: bb.1:127  ; FAST-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)128  ; FAST-NEXT: {{  $}}129  ; FAST-NEXT:   [[C1:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 99130  ; FAST-NEXT:   [[C2:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 888131  ; FAST-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C1]]132  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)133  ; FAST-NEXT:   [[ICMP3:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C2]]134  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP3]](s32)135  ; FAST-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)136  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)137  ; FAST-NEXT:   G_BRCOND [[ZEXT1]](s32), %bb.3138  ; FAST-NEXT:   G_BR %bb.2139  ; FAST-NEXT: {{  $}}140  ; FAST-NEXT: bb.2:141  ; FAST-NEXT:   successors: %bb.3(0x80000000)142  ; FAST-NEXT: {{  $}}143  ; FAST-NEXT:   [[C3:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 123144  ; FAST-NEXT:   [[ICMP4:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C3]]145  ; FAST-NEXT:   [[TRUNC4:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP4]](s32)146  ; FAST-NEXT:   [[ANYEXT2:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC4]](s1)147  ; FAST-NEXT:   G_BR %bb.3148  ; FAST-NEXT: {{  $}}149  ; FAST-NEXT: bb.3:150  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1, [[ANYEXT2]](s32), %bb.2151  ; FAST-NEXT:   [[TRUNC5:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)152  ; FAST-NEXT:   [[ZEXT2:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC5]](s1)153  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT2]](s32), [[COPY]], [[COPY1]]154  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)155  ; GREEDY-LABEL: name: phi_s1_scc_scc_scc_sbranch156  ; GREEDY: bb.0:157  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.3(0x40000000)158  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr2, $sgpr3159  ; GREEDY-NEXT: {{  $}}160  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0161  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1162  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2163  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:sgpr(s32) = COPY $sgpr3164  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0165  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]166  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)167  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]168  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)169  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)170  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)171  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.3172  ; GREEDY-NEXT:   G_BR %bb.1173  ; GREEDY-NEXT: {{  $}}174  ; GREEDY-NEXT: bb.1:175  ; GREEDY-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)176  ; GREEDY-NEXT: {{  $}}177  ; GREEDY-NEXT:   [[C1:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 99178  ; GREEDY-NEXT:   [[C2:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 888179  ; GREEDY-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C1]]180  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)181  ; GREEDY-NEXT:   [[ICMP3:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C2]]182  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP3]](s32)183  ; GREEDY-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)184  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)185  ; GREEDY-NEXT:   G_BRCOND [[ZEXT1]](s32), %bb.3186  ; GREEDY-NEXT:   G_BR %bb.2187  ; GREEDY-NEXT: {{  $}}188  ; GREEDY-NEXT: bb.2:189  ; GREEDY-NEXT:   successors: %bb.3(0x80000000)190  ; GREEDY-NEXT: {{  $}}191  ; GREEDY-NEXT:   [[C3:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 123192  ; GREEDY-NEXT:   [[ICMP4:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C3]]193  ; GREEDY-NEXT:   [[TRUNC4:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP4]](s32)194  ; GREEDY-NEXT:   [[ANYEXT2:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC4]](s1)195  ; GREEDY-NEXT:   G_BR %bb.3196  ; GREEDY-NEXT: {{  $}}197  ; GREEDY-NEXT: bb.3:198  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1, [[ANYEXT2]](s32), %bb.2199  ; GREEDY-NEXT:   [[TRUNC5:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)200  ; GREEDY-NEXT:   [[ZEXT2:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC5]](s1)201  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT2]](s32), [[COPY]], [[COPY1]]202  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)203  bb.0:204    successors: %bb.1, %bb.3205    liveins: $sgpr0, $sgpr1, $sgpr2, $sgpr3206 207    %0:_(s32) = COPY $sgpr0208    %1:_(s32) = COPY $sgpr1209    %2:_(s32) = COPY $sgpr2210    %3:_(s32) = COPY $sgpr3211    %4:_(s32) = G_CONSTANT i32 0212    %5:_(s1) = G_ICMP intpred(eq), %0, %3213    %6:_(s1) = G_ICMP intpred(eq), %2, %3214    G_BRCOND %6, %bb.3215    G_BR %bb.1216 217  bb.1:218    successors: %bb.2, %bb.3219 220    %7:_(s32) = G_CONSTANT i32 99221    %8:_(s32) = G_CONSTANT i32 888222    %9:_(s1) = G_ICMP intpred(eq), %1, %7223    %10:_(s1) = G_ICMP intpred(eq), %1, %8224    G_BRCOND %10, %bb.3225    G_BR %bb.2226 227  bb.2:228    successors: %bb.3229 230    %11:_(s32) = G_CONSTANT i32 123231    %12:_(s1) = G_ICMP intpred(eq), %2, %11232    G_BR %bb.3233 234  bb.3:235    %13:_(s1) = G_PHI %5, %bb.0, %9, %bb.1, %12, %bb.2236    %14:_(s32) = G_SELECT %13, %0, %1237    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %14238 239...240 241---242name: phi_s1_scc_vcc_sbranch243legalized: true244tracksRegLiveness: true245 246body: |247  ; FAST-LABEL: name: phi_s1_scc_vcc_sbranch248  ; FAST: bb.0:249  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)250  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $vgpr0251  ; FAST-NEXT: {{  $}}252  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0253  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0254  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1255  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0256  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]257  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)258  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]259  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)260  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)261  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)262  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1263  ; FAST-NEXT:   G_BR %bb.2264  ; FAST-NEXT: {{  $}}265  ; FAST-NEXT: bb.1:266  ; FAST-NEXT:   successors: %bb.2(0x80000000)267  ; FAST-NEXT: {{  $}}268  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)269  ; FAST-NEXT:   [[ICMP2:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]270  ; FAST-NEXT:   G_BR %bb.2271  ; FAST-NEXT: {{  $}}272  ; FAST-NEXT: bb.2:273  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[COPY3]](s1), %bb.0, [[ICMP2]](s1), %bb.1274  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)275  ; FAST-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)276  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]277  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)278  ; GREEDY-LABEL: name: phi_s1_scc_vcc_sbranch279  ; GREEDY: bb.0:280  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)281  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $vgpr0282  ; GREEDY-NEXT: {{  $}}283  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0284  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0285  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1286  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0287  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]288  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)289  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]290  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)291  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)292  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)293  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1294  ; GREEDY-NEXT:   G_BR %bb.2295  ; GREEDY-NEXT: {{  $}}296  ; GREEDY-NEXT: bb.1:297  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)298  ; GREEDY-NEXT: {{  $}}299  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)300  ; GREEDY-NEXT:   [[ICMP2:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]301  ; GREEDY-NEXT:   G_BR %bb.2302  ; GREEDY-NEXT: {{  $}}303  ; GREEDY-NEXT: bb.2:304  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[COPY3]](s1), %bb.0, [[ICMP2]](s1), %bb.1305  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)306  ; GREEDY-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)307  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]308  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)309  bb.0:310    successors: %bb.1, %bb.2311    liveins: $sgpr0, $sgpr1, $vgpr0312 313    %0:_(s32) = COPY $sgpr0314    %1:_(s32) = COPY $vgpr0315    %2:_(s32) = COPY $sgpr1316    %3:_(s32) = G_CONSTANT i32 0317    %4:_(s1) = G_ICMP intpred(eq), %0, %3318    %5:_(s1) = G_ICMP intpred(eq), %2, %3319    G_BRCOND %5, %bb.1320    G_BR %bb.2321 322  bb.1:323    successors: %bb.2324 325    %6:_(s1) = G_ICMP intpred(eq), %1, %3326    G_BR %bb.2327 328  bb.2:329    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.1330    %8:_(s32) = G_SELECT %7, %3, %0331    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %8332 333...334 335---336name: phi_s1_vcc_scc_sbranch337legalized: true338tracksRegLiveness: true339 340body: |341  ; FAST-LABEL: name: phi_s1_vcc_scc_sbranch342  ; FAST: bb.0:343  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)344  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1345  ; FAST-NEXT: {{  $}}346  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0347  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0348  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1349  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0350  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)351  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]352  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]353  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)354  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)355  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1356  ; FAST-NEXT:   G_BR %bb.2357  ; FAST-NEXT: {{  $}}358  ; FAST-NEXT: bb.1:359  ; FAST-NEXT:   successors: %bb.2(0x80000000)360  ; FAST-NEXT: {{  $}}361  ; FAST-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]362  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)363  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC1]](s1)364  ; FAST-NEXT:   G_BR %bb.2365  ; FAST-NEXT: {{  $}}366  ; FAST-NEXT: bb.2:367  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[COPY4]](s1), %bb.1368  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)369  ; FAST-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)370  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]371  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)372  ; GREEDY-LABEL: name: phi_s1_vcc_scc_sbranch373  ; GREEDY: bb.0:374  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)375  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1376  ; GREEDY-NEXT: {{  $}}377  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0378  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0379  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1380  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0381  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)382  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]383  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]384  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)385  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)386  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1387  ; GREEDY-NEXT:   G_BR %bb.2388  ; GREEDY-NEXT: {{  $}}389  ; GREEDY-NEXT: bb.1:390  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)391  ; GREEDY-NEXT: {{  $}}392  ; GREEDY-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]393  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)394  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC1]](s1)395  ; GREEDY-NEXT:   G_BR %bb.2396  ; GREEDY-NEXT: {{  $}}397  ; GREEDY-NEXT: bb.2:398  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[COPY4]](s1), %bb.1399  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)400  ; GREEDY-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)401  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]402  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)403  bb.0:404    successors: %bb.1, %bb.2405    liveins: $vgpr0, $sgpr0, $sgpr1406 407    %0:_(s32) = COPY $vgpr0408    %1:_(s32) = COPY $sgpr0409    %2:_(s32) = COPY $sgpr1410    %3:_(s32) = G_CONSTANT i32 0411    %4:_(s1) = G_ICMP intpred(eq), %0, %3412    %5:_(s1) = G_ICMP intpred(eq), %2, %3413    G_BRCOND %5, %bb.1414    G_BR %bb.2415 416  bb.1:417    successors: %bb.2418 419    %6:_(s1) = G_ICMP intpred(eq), %1, %3420    G_BR %bb.2421 422  bb.2:423    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.1424    %8:_(s32) = G_SELECT %7, %3, %1425    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %8426 427...428 429---430name: phi_s1_vcc_vcc_sbranch431legalized: true432tracksRegLiveness: true433 434body: |435  ; FAST-LABEL: name: phi_s1_vcc_vcc_sbranch436  ; FAST: bb.0:437  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)438  ; FAST-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr0439  ; FAST-NEXT: {{  $}}440  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0441  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1442  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr0443  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0444  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)445  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]446  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]447  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)448  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)449  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1450  ; FAST-NEXT:   G_BR %bb.2451  ; FAST-NEXT: {{  $}}452  ; FAST-NEXT: bb.1:453  ; FAST-NEXT:   successors: %bb.2(0x80000000)454  ; FAST-NEXT: {{  $}}455  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)456  ; FAST-NEXT:   [[ICMP2:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]457  ; FAST-NEXT:   G_BR %bb.2458  ; FAST-NEXT: {{  $}}459  ; FAST-NEXT: bb.2:460  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[ICMP2]](s1), %bb.1461  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)462  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY]]463  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)464  ; GREEDY-LABEL: name: phi_s1_vcc_vcc_sbranch465  ; GREEDY: bb.0:466  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)467  ; GREEDY-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr0468  ; GREEDY-NEXT: {{  $}}469  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0470  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1471  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr0472  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0473  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)474  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]475  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]476  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)477  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)478  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1479  ; GREEDY-NEXT:   G_BR %bb.2480  ; GREEDY-NEXT: {{  $}}481  ; GREEDY-NEXT: bb.1:482  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)483  ; GREEDY-NEXT: {{  $}}484  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)485  ; GREEDY-NEXT:   [[ICMP2:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]486  ; GREEDY-NEXT:   G_BR %bb.2487  ; GREEDY-NEXT: {{  $}}488  ; GREEDY-NEXT: bb.2:489  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[ICMP2]](s1), %bb.1490  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)491  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY]]492  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)493  bb.0:494    successors: %bb.1, %bb.2495    liveins: $vgpr0, $vgpr1, $sgpr0496 497    %0:_(s32) = COPY $vgpr0498    %1:_(s32) = COPY $vgpr1499    %2:_(s32) = COPY $sgpr0500    %3:_(s32) = G_CONSTANT i32 0501    %4:_(s1) = G_ICMP intpred(eq), %0, %3502    %5:_(s1) = G_ICMP intpred(eq), %2, %3503    G_BRCOND %5, %bb.1504    G_BR %bb.2505 506  bb.1:507    successors: %bb.2508 509    %6:_(s1) = G_ICMP intpred(eq), %1, %3510    G_BR %bb.2511 512  bb.2:513    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.1514    %8:_(s32) = G_SELECT %7, %3, %0515    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %8516 517...518 519---520name: phi_s1_s_scc_sbranch521legalized: true522tracksRegLiveness: true523 524body: |525  ; FAST-LABEL: name: phi_s1_s_scc_sbranch526  ; FAST: bb.0:527  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)528  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr2529  ; FAST-NEXT: {{  $}}530  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0531  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1532  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2533  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0534  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)535  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]536  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)537  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)538  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)539  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1540  ; FAST-NEXT:   G_BR %bb.2541  ; FAST-NEXT: {{  $}}542  ; FAST-NEXT: bb.1:543  ; FAST-NEXT:   successors: %bb.2(0x80000000)544  ; FAST-NEXT: {{  $}}545  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]546  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)547  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)548  ; FAST-NEXT:   G_BR %bb.2549  ; FAST-NEXT: {{  $}}550  ; FAST-NEXT: bb.2:551  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1552  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)553  ; FAST-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)554  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]555  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)556  ; GREEDY-LABEL: name: phi_s1_s_scc_sbranch557  ; GREEDY: bb.0:558  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)559  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr2560  ; GREEDY-NEXT: {{  $}}561  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0562  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1563  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2564  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0565  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)566  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]567  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)568  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)569  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)570  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1571  ; GREEDY-NEXT:   G_BR %bb.2572  ; GREEDY-NEXT: {{  $}}573  ; GREEDY-NEXT: bb.1:574  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)575  ; GREEDY-NEXT: {{  $}}576  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]577  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)578  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)579  ; GREEDY-NEXT:   G_BR %bb.2580  ; GREEDY-NEXT: {{  $}}581  ; GREEDY-NEXT: bb.2:582  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1583  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)584  ; GREEDY-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)585  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]586  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)587  bb.0:588    successors: %bb.1, %bb.2589    liveins: $sgpr0, $sgpr1, $sgpr2590 591    %0:_(s32) = COPY $sgpr0592    %1:_(s32) = COPY $sgpr1593    %2:_(s32) = COPY $sgpr2594    %3:_(s32) = G_CONSTANT i32 0595    %4:_(s1) = G_TRUNC %0596    %5:_(s1) = G_ICMP intpred(eq), %2, %3597    G_BRCOND %5, %bb.1598    G_BR %bb.2599 600  bb.1:601    successors: %bb.2602 603    %6:_(s1) = G_ICMP intpred(eq), %1, %3604    G_BR %bb.2605 606  bb.2:607    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.1608    %8:_(s32) = G_SELECT %7, %3, %0609    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %8610 611...612 613---614name: phi_s1_scc_s_sbranch615legalized: true616tracksRegLiveness: true617 618body: |619  ; FAST-LABEL: name: phi_s1_scc_s_sbranch620  ; FAST: bb.0:621  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)622  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr2623  ; FAST-NEXT: {{  $}}624  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0625  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1626  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2627  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0628  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]629  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)630  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]631  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)632  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)633  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)634  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1635  ; FAST-NEXT:   G_BR %bb.2636  ; FAST-NEXT: {{  $}}637  ; FAST-NEXT: bb.1:638  ; FAST-NEXT:   successors: %bb.2(0x80000000)639  ; FAST-NEXT: {{  $}}640  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)641  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)642  ; FAST-NEXT:   G_BR %bb.2643  ; FAST-NEXT: {{  $}}644  ; FAST-NEXT: bb.2:645  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1646  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)647  ; FAST-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)648  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]649  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)650  ; GREEDY-LABEL: name: phi_s1_scc_s_sbranch651  ; GREEDY: bb.0:652  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)653  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr2654  ; GREEDY-NEXT: {{  $}}655  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0656  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1657  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2658  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0659  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]660  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)661  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]662  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)663  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)664  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)665  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1666  ; GREEDY-NEXT:   G_BR %bb.2667  ; GREEDY-NEXT: {{  $}}668  ; GREEDY-NEXT: bb.1:669  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)670  ; GREEDY-NEXT: {{  $}}671  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)672  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)673  ; GREEDY-NEXT:   G_BR %bb.2674  ; GREEDY-NEXT: {{  $}}675  ; GREEDY-NEXT: bb.2:676  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1677  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)678  ; GREEDY-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)679  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]680  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)681  bb.0:682    successors: %bb.1, %bb.2683    liveins: $sgpr0, $sgpr1, $sgpr2684 685    %0:_(s32) = COPY $sgpr0686    %1:_(s32) = COPY $sgpr1687    %2:_(s32) = COPY $sgpr2688    %3:_(s32) = G_CONSTANT i32 0689    %4:_(s1) = G_ICMP intpred(eq), %0, %3690    %5:_(s1) = G_ICMP intpred(eq), %2, %3691    G_BRCOND %5, %bb.1692    G_BR %bb.2693 694  bb.1:695    successors: %bb.2696 697    %6:_(s1) = G_TRUNC %1698    G_BR %bb.2699 700  bb.2:701    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.1702    %8:_(s32) = G_SELECT %7, %3, %0703    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %8704 705...706 707---708name: phi_s1_scc_v_sbranch709legalized: true710tracksRegLiveness: true711 712body: |713  ; FAST-LABEL: name: phi_s1_scc_v_sbranch714  ; FAST: bb.0:715  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)716  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1, $sgpr2717  ; FAST-NEXT: {{  $}}718  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0719  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0720  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2721  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0722  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]723  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)724  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]725  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)726  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)727  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)728  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1729  ; FAST-NEXT:   G_BR %bb.2730  ; FAST-NEXT: {{  $}}731  ; FAST-NEXT: bb.1:732  ; FAST-NEXT:   successors: %bb.2(0x80000000)733  ; FAST-NEXT: {{  $}}734  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)735  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)736  ; FAST-NEXT:   G_BR %bb.2737  ; FAST-NEXT: {{  $}}738  ; FAST-NEXT: bb.2:739  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1740  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)741  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)742  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)743  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)744  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY5]]745  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)746  ; GREEDY-LABEL: name: phi_s1_scc_v_sbranch747  ; GREEDY: bb.0:748  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)749  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1, $sgpr2750  ; GREEDY-NEXT: {{  $}}751  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0752  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0753  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr2754  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0755  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]756  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)757  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]758  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)759  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)760  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)761  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1762  ; GREEDY-NEXT:   G_BR %bb.2763  ; GREEDY-NEXT: {{  $}}764  ; GREEDY-NEXT: bb.1:765  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)766  ; GREEDY-NEXT: {{  $}}767  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)768  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)769  ; GREEDY-NEXT:   G_BR %bb.2770  ; GREEDY-NEXT: {{  $}}771  ; GREEDY-NEXT: bb.2:772  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1773  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)774  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)775  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)776  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)777  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY5]]778  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)779  bb.0:780    successors: %bb.1, %bb.2781    liveins: $vgpr0, $sgpr0, $sgpr1, $sgpr2782 783    %0:_(s32) = COPY $sgpr0784    %1:_(s32) = COPY $vgpr0785    %2:_(s32) = COPY $sgpr2786    %3:_(s32) = G_CONSTANT i32 0787    %4:_(s1) = G_ICMP intpred(eq), %0, %3788    %5:_(s1) = G_ICMP intpred(eq), %2, %3789    G_BRCOND %5, %bb.1790    G_BR %bb.2791 792  bb.1:793    successors: %bb.2794 795    %6:_(s1) = G_TRUNC %1796    G_BR %bb.2797 798  bb.2:799    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.1800    %8:_(s32) = G_SELECT %7, %3, %0801    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %8802 803...804 805---806name: phi_s1_v_scc_sbranch807legalized: true808tracksRegLiveness: true809 810body: |811  ; FAST-LABEL: name: phi_s1_v_scc_sbranch812  ; FAST: bb.0:813  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)814  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1815  ; FAST-NEXT: {{  $}}816  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0817  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0818  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1819  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0820  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)821  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]822  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)823  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)824  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)825  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1826  ; FAST-NEXT:   G_BR %bb.2827  ; FAST-NEXT: {{  $}}828  ; FAST-NEXT: bb.1:829  ; FAST-NEXT:   successors: %bb.2(0x80000000)830  ; FAST-NEXT: {{  $}}831  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]832  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)833  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)834  ; FAST-NEXT:   G_BR %bb.2835  ; FAST-NEXT: {{  $}}836  ; FAST-NEXT: bb.2:837  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1838  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)839  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)840  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)841  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]842  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)843  ; GREEDY-LABEL: name: phi_s1_v_scc_sbranch844  ; GREEDY: bb.0:845  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)846  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1847  ; GREEDY-NEXT: {{  $}}848  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0849  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0850  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1851  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0852  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)853  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]854  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)855  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)856  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)857  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1858  ; GREEDY-NEXT:   G_BR %bb.2859  ; GREEDY-NEXT: {{  $}}860  ; GREEDY-NEXT: bb.1:861  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)862  ; GREEDY-NEXT: {{  $}}863  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]864  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)865  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)866  ; GREEDY-NEXT:   G_BR %bb.2867  ; GREEDY-NEXT: {{  $}}868  ; GREEDY-NEXT: bb.2:869  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.1870  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)871  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)872  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)873  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]874  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)875  bb.0:876    successors: %bb.1, %bb.2877    liveins: $vgpr0, $sgpr0, $sgpr1878 879    %0:_(s32) = COPY $vgpr0880    %1:_(s32) = COPY $sgpr0881    %2:_(s32) = COPY $sgpr1882    %3:_(s32) = G_CONSTANT i32 0883    %4:_(s1) = G_TRUNC %0884    %5:_(s1) = G_ICMP intpred(eq), %2, %3885    G_BRCOND %5, %bb.1886    G_BR %bb.2887 888  bb.1:889    successors: %bb.2890 891    %6:_(s1) = G_ICMP intpred(eq), %1, %3892    G_BR %bb.2893 894  bb.2:895    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.1896    %8:_(s32) = G_SELECT %7, %3, %0897    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %8898 899...900 901---902name: phi_s1_vcc_s_sbranch903legalized: true904tracksRegLiveness: true905 906body: |907  ; FAST-LABEL: name: phi_s1_vcc_s_sbranch908  ; FAST: bb.0:909  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)910  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1911  ; FAST-NEXT: {{  $}}912  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0913  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0914  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1915  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0916  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)917  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]918  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]919  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)920  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)921  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1922  ; FAST-NEXT:   G_BR %bb.2923  ; FAST-NEXT: {{  $}}924  ; FAST-NEXT: bb.1:925  ; FAST-NEXT:   successors: %bb.2(0x80000000)926  ; FAST-NEXT: {{  $}}927  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)928  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC1]](s1)929  ; FAST-NEXT:   G_BR %bb.2930  ; FAST-NEXT: {{  $}}931  ; FAST-NEXT: bb.2:932  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[COPY4]](s1), %bb.1933  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)934  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY]]935  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)936  ; GREEDY-LABEL: name: phi_s1_vcc_s_sbranch937  ; GREEDY: bb.0:938  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)939  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr1940  ; GREEDY-NEXT: {{  $}}941  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0942  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0943  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr1944  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 0945  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)946  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]947  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]948  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)949  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)950  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.1951  ; GREEDY-NEXT:   G_BR %bb.2952  ; GREEDY-NEXT: {{  $}}953  ; GREEDY-NEXT: bb.1:954  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)955  ; GREEDY-NEXT: {{  $}}956  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)957  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC1]](s1)958  ; GREEDY-NEXT:   G_BR %bb.2959  ; GREEDY-NEXT: {{  $}}960  ; GREEDY-NEXT: bb.2:961  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[ICMP]](s1), %bb.0, [[COPY4]](s1), %bb.1962  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)963  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY]]964  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)965  bb.0:966    successors: %bb.1, %bb.2967    liveins: $vgpr0, $sgpr0, $sgpr1968 969    %0:_(s32) = COPY $vgpr0970    %1:_(s32) = COPY $sgpr0971    %2:_(s32) = COPY $sgpr1972    %3:_(s32) = G_CONSTANT i32 0973    %4:_(s1) = G_ICMP intpred(eq), %0, %3974    %5:_(s1) = G_ICMP intpred(eq), %2, %3975    G_BRCOND %5, %bb.1976    G_BR %bb.2977 978  bb.1:979    successors: %bb.2980 981    %6:_(s1) = G_TRUNC %1982    G_BR %bb.2983 984  bb.2:985    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.1986    %8:_(s32) = G_SELECT %7, %3, %0987    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %8988 989...990 991---992name: phi_s1_s_vcc_sbranch993legalized: true994tracksRegLiveness: true995 996body: |997  ; FAST-LABEL: name: phi_s1_s_vcc_sbranch998  ; FAST: bb.0:999  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1000  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11001  ; FAST-NEXT: {{  $}}1002  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01003  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr01004  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11005  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01006  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)1007  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1008  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1009  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1010  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)1011  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11012  ; FAST-NEXT:   G_BR %bb.21013  ; FAST-NEXT: {{  $}}1014  ; FAST-NEXT: bb.1:1015  ; FAST-NEXT:   successors: %bb.2(0x80000000)1016  ; FAST-NEXT: {{  $}}1017  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1018  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]1019  ; FAST-NEXT:   G_BR %bb.21020  ; FAST-NEXT: {{  $}}1021  ; FAST-NEXT: bb.2:1022  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[COPY3]](s1), %bb.0, [[ICMP1]](s1), %bb.11023  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1024  ; FAST-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)1025  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]1026  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1027  ; GREEDY-LABEL: name: phi_s1_s_vcc_sbranch1028  ; GREEDY: bb.0:1029  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1030  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11031  ; GREEDY-NEXT: {{  $}}1032  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01033  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr01034  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11035  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01036  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)1037  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1038  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1039  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1040  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)1041  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11042  ; GREEDY-NEXT:   G_BR %bb.21043  ; GREEDY-NEXT: {{  $}}1044  ; GREEDY-NEXT: bb.1:1045  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1046  ; GREEDY-NEXT: {{  $}}1047  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1048  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY4]]1049  ; GREEDY-NEXT:   G_BR %bb.21050  ; GREEDY-NEXT: {{  $}}1051  ; GREEDY-NEXT: bb.2:1052  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[COPY3]](s1), %bb.0, [[ICMP1]](s1), %bb.11053  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1054  ; GREEDY-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)1055  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]1056  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1057  bb.0:1058    successors: %bb.1, %bb.21059    liveins: $vgpr0, $sgpr0, $sgpr11060 1061    %0:_(s32) = COPY $sgpr01062    %1:_(s32) = COPY $vgpr01063    %2:_(s32) = COPY $sgpr11064    %3:_(s32) = G_CONSTANT i32 01065    %4:_(s1) = G_TRUNC %01066    %5:_(s1) = G_ICMP intpred(eq), %2, %31067    G_BRCOND %5, %bb.11068    G_BR %bb.21069 1070  bb.1:1071    successors: %bb.21072 1073    %6:_(s1) = G_ICMP intpred(eq), %1, %31074    G_BR %bb.21075 1076  bb.2:1077    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11078    %8:_(s32) = G_SELECT %7, %3, %01079    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81080 1081...1082 1083---1084name: phi_s1_vcc_v_sbranch1085legalized: true1086tracksRegLiveness: true1087 1088body: |1089  ; FAST-LABEL: name: phi_s1_vcc_v_sbranch1090  ; FAST: bb.0:1091  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1092  ; FAST-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01093  ; FAST-NEXT: {{  $}}1094  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01095  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11096  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01097  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01098  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1099  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]1100  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1101  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1102  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)1103  ; FAST-NEXT:   [[C1:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 11104  ; FAST-NEXT:   [[C2:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 01105  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[ICMP]](s1), [[C1]], [[C2]]1106  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11107  ; FAST-NEXT:   G_BR %bb.21108  ; FAST-NEXT: {{  $}}1109  ; FAST-NEXT: bb.1:1110  ; FAST-NEXT:   successors: %bb.2(0x80000000)1111  ; FAST-NEXT: {{  $}}1112  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)1113  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC1]](s1)1114  ; FAST-NEXT:   G_BR %bb.21115  ; FAST-NEXT: {{  $}}1116  ; FAST-NEXT: bb.2:1117  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[SELECT]](s32), %bb.0, [[ANYEXT]](s32), %bb.11118  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1119  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC2]](s1)1120  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1121  ; FAST-NEXT:   [[SELECT1:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY4]](s1), [[COPY5]], [[COPY]]1122  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT1]](s32)1123  ; GREEDY-LABEL: name: phi_s1_vcc_v_sbranch1124  ; GREEDY: bb.0:1125  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1126  ; GREEDY-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01127  ; GREEDY-NEXT: {{  $}}1128  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01129  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11130  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01131  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01132  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1133  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY3]]1134  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1135  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1136  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s1)1137  ; GREEDY-NEXT:   [[C1:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 11138  ; GREEDY-NEXT:   [[C2:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 01139  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[ICMP]](s1), [[C1]], [[C2]]1140  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11141  ; GREEDY-NEXT:   G_BR %bb.21142  ; GREEDY-NEXT: {{  $}}1143  ; GREEDY-NEXT: bb.1:1144  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1145  ; GREEDY-NEXT: {{  $}}1146  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)1147  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC1]](s1)1148  ; GREEDY-NEXT:   G_BR %bb.21149  ; GREEDY-NEXT: {{  $}}1150  ; GREEDY-NEXT: bb.2:1151  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[SELECT]](s32), %bb.0, [[ANYEXT]](s32), %bb.11152  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1153  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC2]](s1)1154  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1155  ; GREEDY-NEXT:   [[SELECT1:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY4]](s1), [[COPY5]], [[COPY]]1156  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT1]](s32)1157  bb.0:1158    successors: %bb.1, %bb.21159    liveins: $vgpr0, $vgpr1, $sgpr01160 1161    %0:_(s32) = COPY $vgpr01162    %1:_(s32) = COPY $vgpr11163    %2:_(s32) = COPY $sgpr01164    %3:_(s32) = G_CONSTANT i32 01165    %4:_(s1) = G_ICMP intpred(eq), %0, %31166    %5:_(s1) = G_ICMP intpred(eq), %2, %31167    G_BRCOND %5, %bb.11168    G_BR %bb.21169 1170  bb.1:1171    successors: %bb.21172 1173    %6:_(s1) = G_TRUNC %11174    G_BR %bb.21175 1176  bb.2:1177    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11178    %8:_(s32) = G_SELECT %7, %3, %01179    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81180 1181...1182 1183---1184name: phi_s1_v_vcc_sbranch1185legalized: true1186tracksRegLiveness: true1187 1188body: |1189  ; FAST-LABEL: name: phi_s1_v_vcc_sbranch1190  ; FAST: bb.0:1191  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1192  ; FAST-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01193  ; FAST-NEXT: {{  $}}1194  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01195  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11196  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01197  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01198  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1199  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1200  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1201  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1202  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1203  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11204  ; FAST-NEXT:   G_BR %bb.21205  ; FAST-NEXT: {{  $}}1206  ; FAST-NEXT: bb.1:1207  ; FAST-NEXT:   successors: %bb.2(0x80000000)1208  ; FAST-NEXT: {{  $}}1209  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1210  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]1211  ; FAST-NEXT:   [[C1:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 11212  ; FAST-NEXT:   [[C2:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 01213  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[ICMP1]](s1), [[C1]], [[C2]]1214  ; FAST-NEXT:   G_BR %bb.21215  ; FAST-NEXT: {{  $}}1216  ; FAST-NEXT: bb.2:1217  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[SELECT]](s32), %bb.11218  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1219  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC2]](s1)1220  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1221  ; FAST-NEXT:   [[SELECT1:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY4]](s1), [[COPY5]], [[COPY]]1222  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT1]](s32)1223  ; GREEDY-LABEL: name: phi_s1_v_vcc_sbranch1224  ; GREEDY: bb.0:1225  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1226  ; GREEDY-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01227  ; GREEDY-NEXT: {{  $}}1228  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01229  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11230  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01231  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01232  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1233  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1234  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1235  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1236  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1237  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11238  ; GREEDY-NEXT:   G_BR %bb.21239  ; GREEDY-NEXT: {{  $}}1240  ; GREEDY-NEXT: bb.1:1241  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1242  ; GREEDY-NEXT: {{  $}}1243  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1244  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]1245  ; GREEDY-NEXT:   [[C1:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 11246  ; GREEDY-NEXT:   [[C2:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 01247  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[ICMP1]](s1), [[C1]], [[C2]]1248  ; GREEDY-NEXT:   G_BR %bb.21249  ; GREEDY-NEXT: {{  $}}1250  ; GREEDY-NEXT: bb.2:1251  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[SELECT]](s32), %bb.11252  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1253  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC2]](s1)1254  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1255  ; GREEDY-NEXT:   [[SELECT1:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY4]](s1), [[COPY5]], [[COPY]]1256  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT1]](s32)1257  bb.0:1258    successors: %bb.1, %bb.21259    liveins: $vgpr0, $vgpr1, $sgpr01260 1261    %0:_(s32) = COPY $vgpr01262    %1:_(s32) = COPY $vgpr11263    %2:_(s32) = COPY $sgpr01264    %3:_(s32) = G_CONSTANT i32 01265    %4:_(s1) = G_TRUNC %01266    %5:_(s1) = G_ICMP intpred(eq), %2, %31267    G_BRCOND %5, %bb.11268    G_BR %bb.21269 1270  bb.1:1271    successors: %bb.21272 1273    %6:_(s1) = G_ICMP intpred(eq), %1, %31274    G_BR %bb.21275 1276  bb.2:1277    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11278    %8:_(s32) = G_SELECT %7, %3, %01279    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81280 1281...1282 1283---1284name: phi_s1_v_s_sbranch1285legalized: true1286tracksRegLiveness: true1287 1288body: |1289  ; FAST-LABEL: name: phi_s1_v_s_sbranch1290  ; FAST: bb.0:1291  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1292  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11293  ; FAST-NEXT: {{  $}}1294  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01295  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr01296  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11297  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01298  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1299  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1300  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1301  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1302  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1303  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11304  ; FAST-NEXT:   G_BR %bb.21305  ; FAST-NEXT: {{  $}}1306  ; FAST-NEXT: bb.1:1307  ; FAST-NEXT:   successors: %bb.2(0x80000000)1308  ; FAST-NEXT: {{  $}}1309  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)1310  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1311  ; FAST-NEXT:   G_BR %bb.21312  ; FAST-NEXT: {{  $}}1313  ; FAST-NEXT: bb.2:1314  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11315  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1316  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1317  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1318  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]1319  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1320  ; GREEDY-LABEL: name: phi_s1_v_s_sbranch1321  ; GREEDY: bb.0:1322  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1323  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11324  ; GREEDY-NEXT: {{  $}}1325  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01326  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr01327  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11328  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01329  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1330  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1331  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1332  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1333  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1334  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11335  ; GREEDY-NEXT:   G_BR %bb.21336  ; GREEDY-NEXT: {{  $}}1337  ; GREEDY-NEXT: bb.1:1338  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1339  ; GREEDY-NEXT: {{  $}}1340  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)1341  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1342  ; GREEDY-NEXT:   G_BR %bb.21343  ; GREEDY-NEXT: {{  $}}1344  ; GREEDY-NEXT: bb.2:1345  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11346  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1347  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1348  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1349  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]1350  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1351  bb.0:1352    successors: %bb.1, %bb.21353    liveins: $vgpr0, $sgpr0, $sgpr11354 1355    %0:_(s32) = COPY $vgpr01356    %1:_(s32) = COPY $sgpr01357    %2:_(s32) = COPY $sgpr11358    %3:_(s32) = G_CONSTANT i32 01359    %4:_(s1) = G_TRUNC %01360    %5:_(s1) = G_ICMP intpred(eq), %2, %31361    G_BRCOND %5, %bb.11362    G_BR %bb.21363 1364  bb.1:1365    successors: %bb.21366 1367    %6:_(s1) = G_TRUNC %11368    G_BR %bb.21369 1370  bb.2:1371    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11372    %8:_(s32) = G_SELECT %7, %3, %01373    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81374 1375...1376 1377---1378name: phi_s1_s_v_sbranch1379legalized: true1380tracksRegLiveness: true1381 1382body: |1383  ; FAST-LABEL: name: phi_s1_s_v_sbranch1384  ; FAST: bb.0:1385  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1386  ; FAST-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11387  ; FAST-NEXT: {{  $}}1388  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01389  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr01390  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11391  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01392  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)1393  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1394  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1395  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1396  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1397  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11398  ; FAST-NEXT:   G_BR %bb.21399  ; FAST-NEXT: {{  $}}1400  ; FAST-NEXT: bb.1:1401  ; FAST-NEXT:   successors: %bb.2(0x80000000)1402  ; FAST-NEXT: {{  $}}1403  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)1404  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1405  ; FAST-NEXT:   G_BR %bb.21406  ; FAST-NEXT: {{  $}}1407  ; FAST-NEXT: bb.2:1408  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11409  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1410  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1411  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1412  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)1413  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY5]]1414  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1415  ; GREEDY-LABEL: name: phi_s1_s_v_sbranch1416  ; GREEDY: bb.0:1417  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1418  ; GREEDY-NEXT:   liveins: $vgpr0, $sgpr0, $sgpr11419  ; GREEDY-NEXT: {{  $}}1420  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01421  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr01422  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr11423  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01424  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)1425  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1426  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1427  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1428  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1429  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11430  ; GREEDY-NEXT:   G_BR %bb.21431  ; GREEDY-NEXT: {{  $}}1432  ; GREEDY-NEXT: bb.1:1433  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1434  ; GREEDY-NEXT: {{  $}}1435  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)1436  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1437  ; GREEDY-NEXT:   G_BR %bb.21438  ; GREEDY-NEXT: {{  $}}1439  ; GREEDY-NEXT: bb.2:1440  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11441  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1442  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1443  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1444  ; GREEDY-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)1445  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY5]]1446  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1447  bb.0:1448    successors: %bb.1, %bb.21449    liveins: $vgpr0, $sgpr0, $sgpr11450 1451    %0:_(s32) = COPY $sgpr01452    %1:_(s32) = COPY $vgpr01453    %2:_(s32) = COPY $sgpr11454    %3:_(s32) = G_CONSTANT i32 01455    %4:_(s1) = G_TRUNC %01456    %5:_(s1) = G_ICMP intpred(eq), %2, %31457    G_BRCOND %5, %bb.11458    G_BR %bb.21459 1460  bb.1:1461    successors: %bb.21462 1463    %6:_(s1) = G_TRUNC %11464    G_BR %bb.21465 1466  bb.2:1467    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11468    %8:_(s32) = G_SELECT %7, %3, %01469    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81470 1471...1472 1473---1474name: phi_s1_v_v_sbranch1475legalized: true1476tracksRegLiveness: true1477 1478body: |1479  ; FAST-LABEL: name: phi_s1_v_v_sbranch1480  ; FAST: bb.0:1481  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1482  ; FAST-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01483  ; FAST-NEXT: {{  $}}1484  ; FAST-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01485  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11486  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01487  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01488  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1489  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1490  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1491  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1492  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1493  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11494  ; FAST-NEXT:   G_BR %bb.21495  ; FAST-NEXT: {{  $}}1496  ; FAST-NEXT: bb.1:1497  ; FAST-NEXT:   successors: %bb.2(0x80000000)1498  ; FAST-NEXT: {{  $}}1499  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)1500  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1501  ; FAST-NEXT:   G_BR %bb.21502  ; FAST-NEXT: {{  $}}1503  ; FAST-NEXT: bb.2:1504  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11505  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1506  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1507  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1508  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]1509  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1510  ; GREEDY-LABEL: name: phi_s1_v_v_sbranch1511  ; GREEDY: bb.0:1512  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1513  ; GREEDY-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr01514  ; GREEDY-NEXT: {{  $}}1515  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr01516  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr11517  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr01518  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01519  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)1520  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1521  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1522  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1523  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC]](s1)1524  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11525  ; GREEDY-NEXT:   G_BR %bb.21526  ; GREEDY-NEXT: {{  $}}1527  ; GREEDY-NEXT: bb.1:1528  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1529  ; GREEDY-NEXT: {{  $}}1530  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY1]](s32)1531  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1532  ; GREEDY-NEXT:   G_BR %bb.21533  ; GREEDY-NEXT: {{  $}}1534  ; GREEDY-NEXT: bb.2:1535  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11536  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:vgpr(s1) = G_TRUNC [[PHI]](s32)1537  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC3]](s1)1538  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)1539  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[COPY3]](s1), [[COPY4]], [[COPY]]1540  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1541  bb.0:1542    successors: %bb.1, %bb.21543    liveins: $vgpr0, $vgpr1, $sgpr01544 1545    %0:_(s32) = COPY $vgpr01546    %1:_(s32) = COPY $vgpr11547    %2:_(s32) = COPY $sgpr01548    %3:_(s32) = G_CONSTANT i32 01549    %4:_(s1) = G_TRUNC %01550    %5:_(s1) = G_ICMP intpred(eq), %2, %31551    G_BRCOND %5, %bb.11552    G_BR %bb.21553 1554  bb.1:1555    successors: %bb.21556 1557    %6:_(s1) = G_TRUNC %11558    G_BR %bb.21559 1560  bb.2:1561    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11562    %8:_(s32) = G_SELECT %7, %3, %01563    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81564 1565...1566 1567---1568name: phi_s1_s_s_sbranch1569legalized: true1570tracksRegLiveness: true1571 1572body: |1573  ; FAST-LABEL: name: phi_s1_s_s_sbranch1574  ; FAST: bb.0:1575  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1576  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr21577  ; FAST-NEXT: {{  $}}1578  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01579  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr11580  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr21581  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01582  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)1583  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1584  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1585  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1586  ; FAST-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)1587  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11588  ; FAST-NEXT:   G_BR %bb.21589  ; FAST-NEXT: {{  $}}1590  ; FAST-NEXT: bb.1:1591  ; FAST-NEXT:   successors: %bb.2(0x80000000)1592  ; FAST-NEXT: {{  $}}1593  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)1594  ; FAST-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1595  ; FAST-NEXT:   G_BR %bb.21596  ; FAST-NEXT: {{  $}}1597  ; FAST-NEXT: bb.2:1598  ; FAST-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11599  ; FAST-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)1600  ; FAST-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)1601  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]1602  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1603  ; GREEDY-LABEL: name: phi_s1_s_s_sbranch1604  ; GREEDY: bb.0:1605  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1606  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr21607  ; GREEDY-NEXT: {{  $}}1608  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01609  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr11610  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr21611  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01612  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)1613  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1614  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1615  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1616  ; GREEDY-NEXT:   [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC]](s1)1617  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11618  ; GREEDY-NEXT:   G_BR %bb.21619  ; GREEDY-NEXT: {{  $}}1620  ; GREEDY-NEXT: bb.1:1621  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1622  ; GREEDY-NEXT: {{  $}}1623  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY1]](s32)1624  ; GREEDY-NEXT:   [[ANYEXT1:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s1)1625  ; GREEDY-NEXT:   G_BR %bb.21626  ; GREEDY-NEXT: {{  $}}1627  ; GREEDY-NEXT: bb.2:1628  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:sgpr(s32) = G_PHI [[ANYEXT]](s32), %bb.0, [[ANYEXT1]](s32), %bb.11629  ; GREEDY-NEXT:   [[TRUNC3:%[0-9]+]]:sgpr(s1) = G_TRUNC [[PHI]](s32)1630  ; GREEDY-NEXT:   [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC3]](s1)1631  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ZEXT1]](s32), [[C]], [[COPY]]1632  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1633  bb.0:1634    successors: %bb.1, %bb.21635    liveins: $sgpr0, $sgpr1, $sgpr21636 1637    %0:_(s32) = COPY $sgpr01638    %1:_(s32) = COPY $sgpr11639    %2:_(s32) = COPY $sgpr21640    %3:_(s32) = G_CONSTANT i32 01641    %4:_(s1) = G_TRUNC %01642    %5:_(s1) = G_ICMP intpred(eq), %2, %31643    G_BRCOND %5, %bb.11644    G_BR %bb.21645 1646  bb.1:1647    successors: %bb.21648 1649    %6:_(s1) = G_TRUNC %11650    G_BR %bb.21651 1652  bb.2:1653    %7:_(s1) = G_PHI %4, %bb.0, %6, %bb.11654    %8:_(s32) = G_SELECT %7, %3, %01655    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %81656 1657...1658 1659---1660name: phi_s1_vcc_result_scc_scc_sbranch1661legalized: true1662tracksRegLiveness: true1663 1664body: |1665  ; FAST-LABEL: name: phi_s1_vcc_result_scc_scc_sbranch1666  ; FAST: bb.0:1667  ; FAST-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1668  ; FAST-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr21669  ; FAST-NEXT: {{  $}}1670  ; FAST-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01671  ; FAST-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr11672  ; FAST-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr21673  ; FAST-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01674  ; FAST-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]1675  ; FAST-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1676  ; FAST-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1677  ; FAST-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1678  ; FAST-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1679  ; FAST-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)1680  ; FAST-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11681  ; FAST-NEXT:   G_BR %bb.21682  ; FAST-NEXT: {{  $}}1683  ; FAST-NEXT: bb.1:1684  ; FAST-NEXT:   successors: %bb.2(0x80000000)1685  ; FAST-NEXT: {{  $}}1686  ; FAST-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]1687  ; FAST-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)1688  ; FAST-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC2]](s1)1689  ; FAST-NEXT:   G_BR %bb.21690  ; FAST-NEXT: {{  $}}1691  ; FAST-NEXT: bb.2:1692  ; FAST-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[COPY3]](s1), %bb.0, [[COPY4]](s1), %bb.11693  ; FAST-NEXT:   [[C1:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 1231694  ; FAST-NEXT:   [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[C1]](s32)1695  ; FAST-NEXT:   [[C2:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 4561696  ; FAST-NEXT:   [[COPY6:%[0-9]+]]:vgpr(s32) = COPY [[C2]](s32)1697  ; FAST-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[COPY5]], [[COPY6]]1698  ; FAST-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1699  ; GREEDY-LABEL: name: phi_s1_vcc_result_scc_scc_sbranch1700  ; GREEDY: bb.0:1701  ; GREEDY-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1702  ; GREEDY-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr21703  ; GREEDY-NEXT: {{  $}}1704  ; GREEDY-NEXT:   [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr01705  ; GREEDY-NEXT:   [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr11706  ; GREEDY-NEXT:   [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr21707  ; GREEDY-NEXT:   [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 01708  ; GREEDY-NEXT:   [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[C]]1709  ; GREEDY-NEXT:   [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)1710  ; GREEDY-NEXT:   [[ICMP1:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY2]](s32), [[C]]1711  ; GREEDY-NEXT:   [[TRUNC1:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP1]](s32)1712  ; GREEDY-NEXT:   [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s1)1713  ; GREEDY-NEXT:   [[COPY3:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)1714  ; GREEDY-NEXT:   G_BRCOND [[ZEXT]](s32), %bb.11715  ; GREEDY-NEXT:   G_BR %bb.21716  ; GREEDY-NEXT: {{  $}}1717  ; GREEDY-NEXT: bb.1:1718  ; GREEDY-NEXT:   successors: %bb.2(0x80000000)1719  ; GREEDY-NEXT: {{  $}}1720  ; GREEDY-NEXT:   [[ICMP2:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[C]]1721  ; GREEDY-NEXT:   [[TRUNC2:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP2]](s32)1722  ; GREEDY-NEXT:   [[COPY4:%[0-9]+]]:vcc(s1) = COPY [[TRUNC2]](s1)1723  ; GREEDY-NEXT:   G_BR %bb.21724  ; GREEDY-NEXT: {{  $}}1725  ; GREEDY-NEXT: bb.2:1726  ; GREEDY-NEXT:   [[PHI:%[0-9]+]]:vcc(s1) = G_PHI [[COPY3]](s1), %bb.0, [[COPY4]](s1), %bb.11727  ; GREEDY-NEXT:   [[C1:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 1231728  ; GREEDY-NEXT:   [[C2:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 4561729  ; GREEDY-NEXT:   [[SELECT:%[0-9]+]]:vgpr(s32) = G_SELECT [[PHI]](s1), [[C1]], [[C2]]1730  ; GREEDY-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[SELECT]](s32)1731  bb.0:1732    successors: %bb.1, %bb.21733    liveins: $sgpr0, $sgpr1, $sgpr21734 1735    %0:_(s32) = COPY $sgpr01736    %1:_(s32) = COPY $sgpr11737    %2:_(s32) = COPY $sgpr21738    %3:_(s32) = G_CONSTANT i32 01739    %4:_(s1) = G_ICMP intpred(eq), %0, %31740    %5:_(s1) = G_ICMP intpred(eq), %2, %31741    G_BRCOND %5, %bb.11742    G_BR %bb.21743 1744  bb.1:1745    successors: %bb.21746 1747    %6:_(s1) = G_ICMP intpred(eq), %1, %31748    G_BR %bb.21749 1750  bb.2:1751    %7:vcc(s1) = G_PHI %4, %bb.0, %6, %bb.11752    %8:vgpr(s32) = G_CONSTANT i32 1231753    %9:vgpr(s32) = G_CONSTANT i32 4561754    %10:vgpr(s32) = G_SELECT %7, %8, %91755    S_SETPC_B64 undef $sgpr30_sgpr31, implicit %101756 1757...1758