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