brintos

brintos / llvm-project-archived public Read only

0
0
Text · 27.0 KiB · 5c78c52 Raw
673 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs -pass-remarks-missed='gisel*' -global-isel-abort=2 -o - %s 2> %t | FileCheck -check-prefix=GFX8  %s3# RUN: FileCheck -check-prefixes=ERR,GFX8-ERR %s < %t4 5# RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=2 -pass-remarks-missed='gisel*'  -o - %s 2> %t | FileCheck -check-prefix=GFX6  %s6# RUN: FileCheck -check-prefixes=ERR,GFX6-ERR %s < %t7 8 9# ERR-NOT: remark10 11# GFX6-ERR: remark: <unknown>:0:0: cannot select: %2:sgpr(s32) = G_ICMP intpred(eq), %0:sgpr(s64), %1:sgpr (in function: icmp_eq_s64_ss)12# GFX6-ERR-NEXT: remark: <unknown>:0:0: cannot select: %2:sgpr(s32) = G_ICMP intpred(ne), %0:sgpr(s64), %1:sgpr (in function: icmp_ne_s64_ss)13# GFX6-ERR-NEXT: remark: <unknown>:0:0: cannot select: %2:sgpr(s32) = G_ICMP intpred(slt), %0:sgpr(s64), %1:sgpr (in function: icmp_slt_s64_ss)14# GFX6-ERR-NEXT: remark: <unknown>:0:0: cannot select: %2:sgpr(s32) = G_ICMP intpred(eq), %0:sgpr(p0), %1:sgpr (in function: icmp_eq_p0_ss)15# GFX6-ERR-NEXT: remark: <unknown>:0:0: cannot select: %2:sgpr(s32) = G_ICMP intpred(eq), %0:sgpr(p1), %1:sgpr (in function: icmp_eq_p1_ss)16# GFX6-ERR-NEXT: remark: <unknown>:0:0: cannot select: %2:sgpr(s32) = G_ICMP intpred(eq), %0:sgpr(p999), %1:sgpr (in function: icmp_eq_p999_ss)17 18# GFX8-ERR: remark: <unknown>:0:0: cannot select: %2:sgpr(s32) = G_ICMP intpred(slt), %0:sgpr(s64), %1:sgpr (in function: icmp_slt_s64_ss)19 20# ERR-NOT: remark21 22---23name:            icmp_eq_s64_ss24legalized:       true25regBankSelected: true26 27body: |28  bb.0:29    liveins:  $sgpr0_sgpr1, $sgpr2_sgpr330 31    ; GFX8-LABEL: name: icmp_eq_s64_ss32    ; GFX8: liveins: $sgpr0_sgpr1, $sgpr2_sgpr333    ; GFX8-NEXT: {{  $}}34    ; GFX8-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr135    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:sreg_64 = COPY $sgpr2_sgpr336    ; GFX8-NEXT: S_CMP_EQ_U64 [[COPY]], [[COPY1]], implicit-def $scc37    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc38    ; GFX8-NEXT: S_ENDPGM 0, implicit [[COPY2]]39    ; GFX6-LABEL: name: icmp_eq_s64_ss40    ; GFX6: liveins: $sgpr0_sgpr1, $sgpr2_sgpr341    ; GFX6-NEXT: {{  $}}42    ; GFX6-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr143    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr2_sgpr344    ; GFX6-NEXT: [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s64), [[COPY1]]45    ; GFX6-NEXT: S_ENDPGM 0, implicit [[ICMP]](s32)46    %0:sgpr(s64) = COPY $sgpr0_sgpr147    %1:sgpr(s64) = COPY $sgpr2_sgpr348    %2:sgpr(s32) = G_ICMP intpred(eq), %0, %149    S_ENDPGM 0, implicit %250 51...52 53---54name:            icmp_ne_s64_ss55legalized:       true56regBankSelected: true57 58body: |59  bb.0:60    liveins:  $sgpr0_sgpr1, $sgpr2_sgpr361 62    ; GFX8-LABEL: name: icmp_ne_s64_ss63    ; GFX8: liveins: $sgpr0_sgpr1, $sgpr2_sgpr364    ; GFX8-NEXT: {{  $}}65    ; GFX8-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr166    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:sreg_64 = COPY $sgpr2_sgpr367    ; GFX8-NEXT: S_CMP_LG_U64 [[COPY]], [[COPY1]], implicit-def $scc68    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc69    ; GFX8-NEXT: S_ENDPGM 0, implicit [[COPY2]]70    ; GFX6-LABEL: name: icmp_ne_s64_ss71    ; GFX6: liveins: $sgpr0_sgpr1, $sgpr2_sgpr372    ; GFX6-NEXT: {{  $}}73    ; GFX6-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr174    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr2_sgpr375    ; GFX6-NEXT: [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(ne), [[COPY]](s64), [[COPY1]]76    ; GFX6-NEXT: S_ENDPGM 0, implicit [[ICMP]](s32)77    %0:sgpr(s64) = COPY $sgpr0_sgpr178    %1:sgpr(s64) = COPY $sgpr2_sgpr379    %2:sgpr(s32) = G_ICMP intpred(ne), %0, %180    S_ENDPGM 0, implicit %281 82...83 84---85name:            icmp_slt_s64_ss86legalized:       true87regBankSelected: true88 89body: |90  bb.0:91    liveins:  $sgpr0_sgpr1, $sgpr2_sgpr392 93    ; GFX8-LABEL: name: icmp_slt_s64_ss94    ; GFX8: liveins: $sgpr0_sgpr1, $sgpr2_sgpr395    ; GFX8-NEXT: {{  $}}96    ; GFX8-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr197    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr2_sgpr398    ; GFX8-NEXT: [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(slt), [[COPY]](s64), [[COPY1]]99    ; GFX8-NEXT: S_ENDPGM 0, implicit [[ICMP]](s32)100    ; GFX6-LABEL: name: icmp_slt_s64_ss101    ; GFX6: liveins: $sgpr0_sgpr1, $sgpr2_sgpr3102    ; GFX6-NEXT: {{  $}}103    ; GFX6-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1104    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr2_sgpr3105    ; GFX6-NEXT: [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(slt), [[COPY]](s64), [[COPY1]]106    ; GFX6-NEXT: S_ENDPGM 0, implicit [[ICMP]](s32)107    %0:sgpr(s64) = COPY $sgpr0_sgpr1108    %1:sgpr(s64) = COPY $sgpr2_sgpr3109    %2:sgpr(s32) = G_ICMP intpred(slt), %0, %1110    S_ENDPGM 0, implicit %2111 112...113 114---115name:            icmp_eq_s64_vv116legalized:       true117regBankSelected: true118 119body: |120  bb.0:121    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3122 123    ; GFX8-LABEL: name: icmp_eq_s64_vv124    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3125    ; GFX8-NEXT: {{  $}}126    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1127    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3128    ; GFX8-NEXT: [[V_CMP_EQ_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_EQ_U64_e64 [[COPY]], [[COPY1]], implicit $exec129    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_EQ_U64_e64_]]130    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec131    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]132    ; GFX6-LABEL: name: icmp_eq_s64_vv133    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3134    ; GFX6-NEXT: {{  $}}135    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1136    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3137    ; GFX6-NEXT: [[V_CMP_EQ_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_EQ_U64_e64 [[COPY]], [[COPY1]], implicit $exec138    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_EQ_U64_e64_]]139    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec140    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]141    %0:vgpr(s64) = COPY $vgpr0_vgpr1142    %1:vgpr(s64) = COPY $vgpr2_vgpr3143    %2:vcc(s1) = G_ICMP intpred(eq), %0, %1144    %3:vgpr(s1) = COPY %2145    %4:vgpr(s32) = G_ZEXT %3146    S_ENDPGM 0, implicit %4147 148...149 150---151name:            icmp_ne_s64_vv152legalized:       true153regBankSelected: true154 155body: |156  bb.0:157    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3158 159    ; GFX8-LABEL: name: icmp_ne_s64_vv160    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3161    ; GFX8-NEXT: {{  $}}162    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1163    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3164    ; GFX8-NEXT: [[V_CMP_NE_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_NE_U64_e64 [[COPY]], [[COPY1]], implicit $exec165    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_NE_U64_e64_]]166    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec167    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]168    ; GFX6-LABEL: name: icmp_ne_s64_vv169    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3170    ; GFX6-NEXT: {{  $}}171    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1172    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3173    ; GFX6-NEXT: [[V_CMP_NE_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_NE_U64_e64 [[COPY]], [[COPY1]], implicit $exec174    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_NE_U64_e64_]]175    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec176    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]177    %0:vgpr(s64) = COPY $vgpr0_vgpr1178    %1:vgpr(s64) = COPY $vgpr2_vgpr3179    %2:vcc(s1) = G_ICMP intpred(ne), %0, %1180    %3:vgpr(s1) = COPY %2181    %4:vgpr(s32) = G_ZEXT %3182    S_ENDPGM 0, implicit %4183 184...185 186---187name:            icmp_sgt_s64_vv188legalized:       true189regBankSelected: true190 191body: |192  bb.0:193    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3194 195    ; GFX8-LABEL: name: icmp_sgt_s64_vv196    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3197    ; GFX8-NEXT: {{  $}}198    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1199    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3200    ; GFX8-NEXT: [[V_CMP_GT_I64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_GT_I64_e64 [[COPY]], [[COPY1]], implicit $exec201    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_GT_I64_e64_]]202    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec203    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]204    ; GFX6-LABEL: name: icmp_sgt_s64_vv205    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3206    ; GFX6-NEXT: {{  $}}207    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1208    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3209    ; GFX6-NEXT: [[V_CMP_GT_I64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_GT_I64_e64 [[COPY]], [[COPY1]], implicit $exec210    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_GT_I64_e64_]]211    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec212    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]213    %0:vgpr(s64) = COPY $vgpr0_vgpr1214    %1:vgpr(s64) = COPY $vgpr2_vgpr3215    %2:vcc(s1) = G_ICMP intpred(sgt), %0, %1216    %3:vgpr(s1) = COPY %2217    %4:vgpr(s32) = G_ZEXT %3218    S_ENDPGM 0, implicit %4219 220...221 222---223name:            icmp_sge_s64_vv224legalized:       true225regBankSelected: true226 227body: |228  bb.0:229    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3230 231    ; GFX8-LABEL: name: icmp_sge_s64_vv232    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3233    ; GFX8-NEXT: {{  $}}234    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1235    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3236    ; GFX8-NEXT: [[V_CMP_GE_I64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_GE_I64_e64 [[COPY]], [[COPY1]], implicit $exec237    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_GE_I64_e64_]]238    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec239    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]240    ; GFX6-LABEL: name: icmp_sge_s64_vv241    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3242    ; GFX6-NEXT: {{  $}}243    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1244    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3245    ; GFX6-NEXT: [[V_CMP_GE_I64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_GE_I64_e64 [[COPY]], [[COPY1]], implicit $exec246    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_GE_I64_e64_]]247    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec248    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]249    %0:vgpr(s64) = COPY $vgpr0_vgpr1250    %1:vgpr(s64) = COPY $vgpr2_vgpr3251    %2:vcc(s1) = G_ICMP intpred(sge), %0, %1252    %3:vgpr(s1) = COPY %2253    %4:vgpr(s32) = G_ZEXT %3254    S_ENDPGM 0, implicit %4255 256...257 258---259name:            icmp_slt_s64_vv260legalized:       true261regBankSelected: true262 263body: |264  bb.0:265    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3266 267    ; GFX8-LABEL: name: icmp_slt_s64_vv268    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3269    ; GFX8-NEXT: {{  $}}270    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1271    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3272    ; GFX8-NEXT: [[V_CMP_LT_I64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_LT_I64_e64 [[COPY]], [[COPY1]], implicit $exec273    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_LT_I64_e64_]]274    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec275    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]276    ; GFX6-LABEL: name: icmp_slt_s64_vv277    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3278    ; GFX6-NEXT: {{  $}}279    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1280    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3281    ; GFX6-NEXT: [[V_CMP_LT_I64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_LT_I64_e64 [[COPY]], [[COPY1]], implicit $exec282    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_LT_I64_e64_]]283    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec284    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]285    %0:vgpr(s64) = COPY $vgpr0_vgpr1286    %1:vgpr(s64) = COPY $vgpr2_vgpr3287    %2:vcc(s1) = G_ICMP intpred(slt), %0, %1288    %3:vgpr(s1) = COPY %2289    %4:vgpr(s32) = G_ZEXT %3290    S_ENDPGM 0, implicit %4291 292...293 294---295name:            icmp_sle_s64_vv296legalized:       true297regBankSelected: true298 299body: |300  bb.0:301    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3302 303    ; GFX8-LABEL: name: icmp_sle_s64_vv304    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3305    ; GFX8-NEXT: {{  $}}306    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1307    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3308    ; GFX8-NEXT: [[V_CMP_LE_I64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_LE_I64_e64 [[COPY]], [[COPY1]], implicit $exec309    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_LE_I64_e64_]]310    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec311    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]312    ; GFX6-LABEL: name: icmp_sle_s64_vv313    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3314    ; GFX6-NEXT: {{  $}}315    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1316    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3317    ; GFX6-NEXT: [[V_CMP_LE_I64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_LE_I64_e64 [[COPY]], [[COPY1]], implicit $exec318    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_LE_I64_e64_]]319    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec320    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]321    %0:vgpr(s64) = COPY $vgpr0_vgpr1322    %1:vgpr(s64) = COPY $vgpr2_vgpr3323    %2:vcc(s1) = G_ICMP intpred(sle), %0, %1324    %3:vgpr(s1) = COPY %2325    %4:vgpr(s32) = G_ZEXT %3326    S_ENDPGM 0, implicit %4327 328...329 330---331name:            icmp_ugt_s64_vv332legalized:       true333regBankSelected: true334 335body: |336  bb.0:337    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3338 339    ; GFX8-LABEL: name: icmp_ugt_s64_vv340    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3341    ; GFX8-NEXT: {{  $}}342    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1343    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3344    ; GFX8-NEXT: [[V_CMP_GT_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_GT_U64_e64 [[COPY]], [[COPY1]], implicit $exec345    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_GT_U64_e64_]]346    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec347    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]348    ; GFX6-LABEL: name: icmp_ugt_s64_vv349    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3350    ; GFX6-NEXT: {{  $}}351    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1352    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3353    ; GFX6-NEXT: [[V_CMP_GT_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_GT_U64_e64 [[COPY]], [[COPY1]], implicit $exec354    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_GT_U64_e64_]]355    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec356    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]357    %0:vgpr(s64) = COPY $vgpr0_vgpr1358    %1:vgpr(s64) = COPY $vgpr2_vgpr3359    %2:vcc(s1) = G_ICMP intpred(ugt), %0, %1360    %3:vgpr(s1) = COPY %2361    %4:vgpr(s32) = G_ZEXT %3362    S_ENDPGM 0, implicit %4363 364...365 366---367name:            icmp_uge_s64_vv368legalized:       true369regBankSelected: true370 371body: |372  bb.0:373    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3374 375    ; GFX8-LABEL: name: icmp_uge_s64_vv376    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3377    ; GFX8-NEXT: {{  $}}378    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1379    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3380    ; GFX8-NEXT: [[V_CMP_GE_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_GE_U64_e64 [[COPY]], [[COPY1]], implicit $exec381    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_GE_U64_e64_]]382    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec383    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]384    ; GFX6-LABEL: name: icmp_uge_s64_vv385    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3386    ; GFX6-NEXT: {{  $}}387    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1388    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3389    ; GFX6-NEXT: [[V_CMP_GE_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_GE_U64_e64 [[COPY]], [[COPY1]], implicit $exec390    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_GE_U64_e64_]]391    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec392    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]393    %0:vgpr(s64) = COPY $vgpr0_vgpr1394    %1:vgpr(s64) = COPY $vgpr2_vgpr3395    %2:vcc(s1) = G_ICMP intpred(uge), %0, %1396    %3:vgpr(s1) = COPY %2397    %4:vgpr(s32) = G_ZEXT %3398    S_ENDPGM 0, implicit %4399 400...401 402---403name:            icmp_ult_s64_vv404legalized:       true405regBankSelected: true406 407body: |408  bb.0:409    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3410 411    ; GFX8-LABEL: name: icmp_ult_s64_vv412    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3413    ; GFX8-NEXT: {{  $}}414    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1415    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3416    ; GFX8-NEXT: [[V_CMP_LT_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_LT_U64_e64 [[COPY]], [[COPY1]], implicit $exec417    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_LT_U64_e64_]]418    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec419    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]420    ; GFX6-LABEL: name: icmp_ult_s64_vv421    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3422    ; GFX6-NEXT: {{  $}}423    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1424    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3425    ; GFX6-NEXT: [[V_CMP_LT_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_LT_U64_e64 [[COPY]], [[COPY1]], implicit $exec426    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_LT_U64_e64_]]427    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec428    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]429    %0:vgpr(s64) = COPY $vgpr0_vgpr1430    %1:vgpr(s64) = COPY $vgpr2_vgpr3431    %2:vcc(s1) = G_ICMP intpred(ult), %0, %1432    %3:vgpr(s1) = COPY %2433    %4:vgpr(s32) = G_ZEXT %3434    S_ENDPGM 0, implicit %4435 436...437 438---439name:            icmp_ule_s64_vv440legalized:       true441regBankSelected: true442 443body: |444  bb.0:445    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3446 447    ; GFX8-LABEL: name: icmp_ule_s64_vv448    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3449    ; GFX8-NEXT: {{  $}}450    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1451    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3452    ; GFX8-NEXT: [[V_CMP_LE_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_LE_U64_e64 [[COPY]], [[COPY1]], implicit $exec453    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_LE_U64_e64_]]454    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec455    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]456    ; GFX6-LABEL: name: icmp_ule_s64_vv457    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3458    ; GFX6-NEXT: {{  $}}459    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1460    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3461    ; GFX6-NEXT: [[V_CMP_LE_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_LE_U64_e64 [[COPY]], [[COPY1]], implicit $exec462    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_LE_U64_e64_]]463    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec464    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]465    %0:vgpr(s64) = COPY $vgpr0_vgpr1466    %1:vgpr(s64) = COPY $vgpr2_vgpr3467    %2:vcc(s1) = G_ICMP intpred(ule), %0, %1468    %3:vgpr(s1) = COPY %2469    %4:vgpr(s32) = G_ZEXT %3470    S_ENDPGM 0, implicit %4471 472...473 474---475name:            icmp_eq_p0_ss476legalized:       true477regBankSelected: true478 479body: |480  bb.0:481    liveins:  $sgpr0_sgpr1, $sgpr2_sgpr3482 483    ; GFX8-LABEL: name: icmp_eq_p0_ss484    ; GFX8: liveins: $sgpr0_sgpr1, $sgpr2_sgpr3485    ; GFX8-NEXT: {{  $}}486    ; GFX8-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1487    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:sreg_64 = COPY $sgpr2_sgpr3488    ; GFX8-NEXT: S_CMP_EQ_U64 [[COPY]], [[COPY1]], implicit-def $scc489    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc490    ; GFX8-NEXT: S_ENDPGM 0, implicit [[COPY2]]491    ; GFX6-LABEL: name: icmp_eq_p0_ss492    ; GFX6: liveins: $sgpr0_sgpr1, $sgpr2_sgpr3493    ; GFX6-NEXT: {{  $}}494    ; GFX6-NEXT: [[COPY:%[0-9]+]]:sgpr(p0) = COPY $sgpr0_sgpr1495    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:sgpr(p0) = COPY $sgpr2_sgpr3496    ; GFX6-NEXT: [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](p0), [[COPY1]]497    ; GFX6-NEXT: S_ENDPGM 0, implicit [[ICMP]](s32)498    %0:sgpr(p0) = COPY $sgpr0_sgpr1499    %1:sgpr(p0) = COPY $sgpr2_sgpr3500    %2:sgpr(s32) = G_ICMP intpred(eq), %0, %1501    S_ENDPGM 0, implicit %2502...503 504---505name:            icmp_eq_p1_ss506legalized:       true507regBankSelected: true508 509body: |510  bb.0:511    liveins:  $sgpr0_sgpr1, $sgpr2_sgpr3512 513    ; GFX8-LABEL: name: icmp_eq_p1_ss514    ; GFX8: liveins: $sgpr0_sgpr1, $sgpr2_sgpr3515    ; GFX8-NEXT: {{  $}}516    ; GFX8-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1517    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:sreg_64 = COPY $sgpr2_sgpr3518    ; GFX8-NEXT: S_CMP_EQ_U64 [[COPY]], [[COPY1]], implicit-def $scc519    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc520    ; GFX8-NEXT: S_ENDPGM 0, implicit [[COPY2]]521    ; GFX6-LABEL: name: icmp_eq_p1_ss522    ; GFX6: liveins: $sgpr0_sgpr1, $sgpr2_sgpr3523    ; GFX6-NEXT: {{  $}}524    ; GFX6-NEXT: [[COPY:%[0-9]+]]:sgpr(p1) = COPY $sgpr0_sgpr1525    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:sgpr(p1) = COPY $sgpr2_sgpr3526    ; GFX6-NEXT: [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](p1), [[COPY1]]527    ; GFX6-NEXT: S_ENDPGM 0, implicit [[ICMP]](s32)528    %0:sgpr(p1) = COPY $sgpr0_sgpr1529    %1:sgpr(p1) = COPY $sgpr2_sgpr3530    %2:sgpr(s32) = G_ICMP intpred(eq), %0, %1531    S_ENDPGM 0, implicit %2532 533...534 535---536name:            icmp_eq_p999_ss537legalized:       true538regBankSelected: true539 540body: |541  bb.0:542    liveins:  $sgpr0_sgpr1, $sgpr2_sgpr3543 544    ; GFX8-LABEL: name: icmp_eq_p999_ss545    ; GFX8: liveins: $sgpr0_sgpr1, $sgpr2_sgpr3546    ; GFX8-NEXT: {{  $}}547    ; GFX8-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1548    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:sreg_64 = COPY $sgpr2_sgpr3549    ; GFX8-NEXT: S_CMP_EQ_U64 [[COPY]], [[COPY1]], implicit-def $scc550    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc551    ; GFX8-NEXT: S_ENDPGM 0, implicit [[COPY2]]552    ; GFX6-LABEL: name: icmp_eq_p999_ss553    ; GFX6: liveins: $sgpr0_sgpr1, $sgpr2_sgpr3554    ; GFX6-NEXT: {{  $}}555    ; GFX6-NEXT: [[COPY:%[0-9]+]]:sgpr(p999) = COPY $sgpr0_sgpr1556    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:sgpr(p999) = COPY $sgpr2_sgpr3557    ; GFX6-NEXT: [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](p999), [[COPY1]]558    ; GFX6-NEXT: S_ENDPGM 0, implicit [[ICMP]](s32)559    %0:sgpr(p999) = COPY $sgpr0_sgpr1560    %1:sgpr(p999) = COPY $sgpr2_sgpr3561    %2:sgpr(s32) = G_ICMP intpred(eq), %0, %1562    S_ENDPGM 0, implicit %2563 564...565 566---567name:            icmp_eq_p0_vv568legalized:       true569regBankSelected: true570 571body: |572  bb.0:573    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3574 575    ; GFX8-LABEL: name: icmp_eq_p0_vv576    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3577    ; GFX8-NEXT: {{  $}}578    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1579    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3580    ; GFX8-NEXT: [[V_CMP_EQ_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_EQ_U64_e64 [[COPY]], [[COPY1]], implicit $exec581    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_EQ_U64_e64_]]582    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec583    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]584    ; GFX6-LABEL: name: icmp_eq_p0_vv585    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3586    ; GFX6-NEXT: {{  $}}587    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1588    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3589    ; GFX6-NEXT: [[V_CMP_EQ_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_EQ_U64_e64 [[COPY]], [[COPY1]], implicit $exec590    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_EQ_U64_e64_]]591    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec592    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]593    %0:vgpr(p0) = COPY $vgpr0_vgpr1594    %1:vgpr(p0) = COPY $vgpr2_vgpr3595    %2:vcc(s1) = G_ICMP intpred(eq), %0, %1596    %3:vgpr(s1) = COPY %2597    %4:vgpr(s32) = G_ZEXT %3598    S_ENDPGM 0, implicit %4599 600...601 602---603name:            icmp_eq_p1_vv604legalized:       true605regBankSelected: true606 607body: |608  bb.0:609    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3610 611    ; GFX8-LABEL: name: icmp_eq_p1_vv612    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3613    ; GFX8-NEXT: {{  $}}614    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1615    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3616    ; GFX8-NEXT: [[V_CMP_EQ_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_EQ_U64_e64 [[COPY]], [[COPY1]], implicit $exec617    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_EQ_U64_e64_]]618    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec619    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]620    ; GFX6-LABEL: name: icmp_eq_p1_vv621    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3622    ; GFX6-NEXT: {{  $}}623    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1624    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3625    ; GFX6-NEXT: [[V_CMP_EQ_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_EQ_U64_e64 [[COPY]], [[COPY1]], implicit $exec626    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_EQ_U64_e64_]]627    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec628    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]629    %0:vgpr(p1) = COPY $vgpr0_vgpr1630    %1:vgpr(p1) = COPY $vgpr2_vgpr3631    %2:vcc(s1) = G_ICMP intpred(eq), %0, %1632    %3:vgpr(s1) = COPY %2633    %4:vgpr(s32) = G_ZEXT %3634    S_ENDPGM 0, implicit %4635 636...637 638---639name:            icmp_eq_p999_vv640legalized:       true641regBankSelected: true642 643body: |644  bb.0:645    liveins:  $vgpr0_vgpr1, $vgpr2_vgpr3646 647    ; GFX8-LABEL: name: icmp_eq_p999_vv648    ; GFX8: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3649    ; GFX8-NEXT: {{  $}}650    ; GFX8-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1651    ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3652    ; GFX8-NEXT: [[V_CMP_EQ_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_EQ_U64_e64 [[COPY]], [[COPY1]], implicit $exec653    ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_EQ_U64_e64_]]654    ; GFX8-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec655    ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]656    ; GFX6-LABEL: name: icmp_eq_p999_vv657    ; GFX6: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3658    ; GFX6-NEXT: {{  $}}659    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1660    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3661    ; GFX6-NEXT: [[V_CMP_EQ_U64_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_EQ_U64_e64 [[COPY]], [[COPY1]], implicit $exec662    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[V_CMP_EQ_U64_e64_]]663    ; GFX6-NEXT: [[V_AND_B32_e32_:%[0-9]+]]:vgpr_32 = V_AND_B32_e32 1, [[COPY2]], implicit $exec664    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_AND_B32_e32_]]665    %0:vgpr(p999) = COPY $vgpr0_vgpr1666    %1:vgpr(p999) = COPY $vgpr2_vgpr3667    %2:vcc(s1) = G_ICMP intpred(eq), %0, %1668    %3:vgpr(s1) = COPY %2669    %4:vgpr(s32) = G_ZEXT %3670    S_ENDPGM 0, implicit %4671 672...673