845 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -run-pass=instruction-select %s -o - | FileCheck -check-prefix=GFX6 %s3# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -run-pass=instruction-select %s -o - | FileCheck -check-prefix=GFX6 %s4# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=instruction-select %s -o - | FileCheck -check-prefix=GFX10 %s5# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=-real-true16 -run-pass=instruction-select %s -o - | FileCheck -check-prefixes=GFX10 %s6 7---8name: test_freeze_s1_vgpr_to_vgpr9alignment: 110legalized: true11regBankSelected: true12 13body: |14 bb.0:15 liveins: $vgpr016 ; GFX6-LABEL: name: test_freeze_s1_vgpr_to_vgpr17 ; GFX6: liveins: $vgpr018 ; GFX6-NEXT: {{ $}}19 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr020 ; GFX6-NEXT: $vgpr0 = COPY [[COPY]]21 ; GFX10-LABEL: name: test_freeze_s1_vgpr_to_vgpr22 ; GFX10: liveins: $vgpr023 ; GFX10-NEXT: {{ $}}24 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr025 ; GFX10-NEXT: $vgpr0 = COPY [[COPY]]26 %0:vgpr(s32) = COPY $vgpr027 %1:vgpr(s1) = G_TRUNC %0(s32)28 %2:vgpr(s1) = G_FREEZE %129 %3:vgpr(s32) = G_ANYEXT %2(s1)30 $vgpr0 = COPY %3(s32)31 32...33 34---35name: test_freeze_s1_vgpr_to_agpr36alignment: 137legalized: true38regBankSelected: true39 40body: |41 bb.0:42 liveins: $vgpr043 ; GFX6-LABEL: name: test_freeze_s1_vgpr_to_agpr44 ; GFX6: liveins: $vgpr045 ; GFX6-NEXT: {{ $}}46 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr047 ; GFX6-NEXT: $agpr0 = COPY [[COPY]]48 ; GFX10-LABEL: name: test_freeze_s1_vgpr_to_agpr49 ; GFX10: liveins: $vgpr050 ; GFX10-NEXT: {{ $}}51 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr052 ; GFX10-NEXT: $agpr0 = COPY [[COPY]]53 %0:vgpr(s32) = COPY $vgpr054 %1:vgpr(s1) = G_TRUNC %0(s32)55 %2:vgpr(s1) = G_FREEZE %156 %3:vgpr(s32) = G_ANYEXT %2(s1)57 $agpr0 = COPY %3(s32)58 59...60 61---62name: test_freeze_s1_vcc63alignment: 164legalized: true65regBankSelected: true66 67body: |68 bb.0:69 liveins: $vgpr0, $vgpr170 ; GFX6-LABEL: name: test_freeze_s1_vcc71 ; GFX6: liveins: $vgpr0, $vgpr172 ; GFX6-NEXT: {{ $}}73 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr074 ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr175 ; GFX6-NEXT: [[V_CMP_EQ_U32_e64_:%[0-9]+]]:sreg_64 = V_CMP_EQ_U32_e64 [[COPY]], [[COPY1]], implicit $exec76 ; GFX6-NEXT: [[COPY2:%[0-9]+]]:sreg_64_xexec = COPY [[V_CMP_EQ_U32_e64_]]77 ; GFX6-NEXT: S_ENDPGM 0, implicit [[COPY2]]78 ; GFX10-LABEL: name: test_freeze_s1_vcc79 ; GFX10: liveins: $vgpr0, $vgpr180 ; GFX10-NEXT: {{ $}}81 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr082 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr183 ; GFX10-NEXT: [[V_CMP_EQ_U32_e64_:%[0-9]+]]:sreg_32 = V_CMP_EQ_U32_e64 [[COPY]], [[COPY1]], implicit $exec84 ; GFX10-NEXT: [[COPY2:%[0-9]+]]:sreg_32_xm0_xexec = COPY [[V_CMP_EQ_U32_e64_]]85 ; GFX10-NEXT: S_ENDPGM 0, implicit [[COPY2]]86 %0:vgpr(s32) = COPY $vgpr087 %1:vgpr(s32) = COPY $vgpr188 %2:vcc(s1) = G_ICMP intpred(eq), %0(s32), %189 %3:vcc(s1) = G_FREEZE %290 S_ENDPGM 0, implicit %3(s1)91 92...93 94---95name: test_freeze_s16_vgpr_to_vgpr96alignment: 197legalized: true98regBankSelected: true99 100body: |101 bb.0:102 liveins: $vgpr0103 ; GFX6-LABEL: name: test_freeze_s16_vgpr_to_vgpr104 ; GFX6: liveins: $vgpr0105 ; GFX6-NEXT: {{ $}}106 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0107 ; GFX6-NEXT: $vgpr0 = COPY [[COPY]]108 ; GFX10-LABEL: name: test_freeze_s16_vgpr_to_vgpr109 ; GFX10: liveins: $vgpr0110 ; GFX10-NEXT: {{ $}}111 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0112 ; GFX10-NEXT: $vgpr0 = COPY [[COPY]]113 %0:vgpr(s32) = COPY $vgpr0114 %1:vgpr(s16) = G_TRUNC %0(s32)115 %2:vgpr(s16) = G_FREEZE %1116 %3:vgpr(s32) = G_ANYEXT %2(s16)117 $vgpr0 = COPY %3(s32)118 119...120 121---122name: test_freeze_s32_vgpr_to_vgpr123alignment: 1124legalized: true125regBankSelected: true126 127body: |128 bb.0:129 liveins: $vgpr0130 ; GFX6-LABEL: name: test_freeze_s32_vgpr_to_vgpr131 ; GFX6: liveins: $vgpr0132 ; GFX6-NEXT: {{ $}}133 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0134 ; GFX6-NEXT: $vgpr0 = COPY [[COPY]]135 ; GFX10-LABEL: name: test_freeze_s32_vgpr_to_vgpr136 ; GFX10: liveins: $vgpr0137 ; GFX10-NEXT: {{ $}}138 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0139 ; GFX10-NEXT: $vgpr0 = COPY [[COPY]]140 %0:vgpr(s32) = COPY $vgpr0141 %1:vgpr(s32) = G_FREEZE %0142 $vgpr0 = COPY %1(s32)143 144...145 146---147name: test_freeze_s32_sgpr_to_sgpr148alignment: 1149legalized: true150regBankSelected: true151 152body: |153 bb.0:154 liveins: $sgpr0155 ; GFX6-LABEL: name: test_freeze_s32_sgpr_to_sgpr156 ; GFX6: liveins: $sgpr0157 ; GFX6-NEXT: {{ $}}158 ; GFX6-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0159 ; GFX6-NEXT: $sgpr0 = COPY [[COPY]]160 ; GFX10-LABEL: name: test_freeze_s32_sgpr_to_sgpr161 ; GFX10: liveins: $sgpr0162 ; GFX10-NEXT: {{ $}}163 ; GFX10-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0164 ; GFX10-NEXT: $sgpr0 = COPY [[COPY]]165 %0:sgpr(s32) = COPY $sgpr0166 %1:sgpr(s32) = G_FREEZE %0167 $sgpr0 = COPY %1(s32)168 169...170 171---172name: test_freeze_s32_sgpr_to_vgpr173alignment: 1174legalized: true175regBankSelected: true176 177body: |178 bb.0:179 liveins: $sgpr0180 ; GFX6-LABEL: name: test_freeze_s32_sgpr_to_vgpr181 ; GFX6: liveins: $sgpr0182 ; GFX6-NEXT: {{ $}}183 ; GFX6-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0184 ; GFX6-NEXT: $vgpr0 = COPY [[COPY]]185 ; GFX10-LABEL: name: test_freeze_s32_sgpr_to_vgpr186 ; GFX10: liveins: $sgpr0187 ; GFX10-NEXT: {{ $}}188 ; GFX10-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0189 ; GFX10-NEXT: $vgpr0 = COPY [[COPY]]190 %0:sgpr(s32) = COPY $sgpr0191 %1:sgpr(s32) = G_FREEZE %0192 $vgpr0 = COPY %1(s32)193 194...195 196---197name: test_freeze_s32_vgpr_to_agpr198alignment: 1199legalized: true200regBankSelected: true201 202body: |203 bb.0:204 liveins: $vgpr0205 ; GFX6-LABEL: name: test_freeze_s32_vgpr_to_agpr206 ; GFX6: liveins: $vgpr0207 ; GFX6-NEXT: {{ $}}208 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0209 ; GFX6-NEXT: $agpr0 = COPY [[COPY]]210 ; GFX10-LABEL: name: test_freeze_s32_vgpr_to_agpr211 ; GFX10: liveins: $vgpr0212 ; GFX10-NEXT: {{ $}}213 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0214 ; GFX10-NEXT: $agpr0 = COPY [[COPY]]215 %0:vgpr(s32) = COPY $vgpr0216 %1:vgpr(s32) = G_FREEZE %0217 $agpr0 = COPY %1(s32)218 219...220 221---222name: test_freeze_s32_sgpr_to_agpr223alignment: 1224legalized: true225regBankSelected: true226 227body: |228 bb.0:229 liveins: $sgpr0230 ; GFX6-LABEL: name: test_freeze_s32_sgpr_to_agpr231 ; GFX6: liveins: $sgpr0232 ; GFX6-NEXT: {{ $}}233 ; GFX6-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0234 ; GFX6-NEXT: $agpr0 = COPY [[COPY]]235 ; GFX10-LABEL: name: test_freeze_s32_sgpr_to_agpr236 ; GFX10: liveins: $sgpr0237 ; GFX10-NEXT: {{ $}}238 ; GFX10-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0239 ; GFX10-NEXT: $agpr0 = COPY [[COPY]]240 %0:sgpr(s32) = COPY $sgpr0241 %1:sgpr(s32) = G_FREEZE %0242 $agpr0 = COPY %1(s32)243 244...245 246---247name: test_freeze_s32_agpr_to_vgpr248alignment: 1249legalized: true250regBankSelected: true251 252body: |253 bb.0:254 liveins: $agpr0255 ; GFX6-LABEL: name: test_freeze_s32_agpr_to_vgpr256 ; GFX6: liveins: $agpr0257 ; GFX6-NEXT: {{ $}}258 ; GFX6-NEXT: [[COPY:%[0-9]+]]:agpr_32 = COPY $agpr0259 ; GFX6-NEXT: $vgpr0 = COPY [[COPY]]260 ; GFX10-LABEL: name: test_freeze_s32_agpr_to_vgpr261 ; GFX10: liveins: $agpr0262 ; GFX10-NEXT: {{ $}}263 ; GFX10-NEXT: [[COPY:%[0-9]+]]:agpr_32 = COPY $agpr0264 ; GFX10-NEXT: $vgpr0 = COPY [[COPY]]265 %0:agpr(s32) = COPY $agpr0266 %1:agpr(s32) = G_FREEZE %0267 $vgpr0 = COPY %1(s32)268 269...270 271---272name: test_freeze_s32_agpr_to_agpr273alignment: 1274legalized: true275regBankSelected: true276 277body: |278 bb.0:279 liveins: $agpr0280 ; GFX6-LABEL: name: test_freeze_s32_agpr_to_agpr281 ; GFX6: liveins: $agpr0282 ; GFX6-NEXT: {{ $}}283 ; GFX6-NEXT: [[COPY:%[0-9]+]]:agpr_32 = COPY $agpr0284 ; GFX6-NEXT: $agpr0 = COPY [[COPY]]285 ; GFX10-LABEL: name: test_freeze_s32_agpr_to_agpr286 ; GFX10: liveins: $agpr0287 ; GFX10-NEXT: {{ $}}288 ; GFX10-NEXT: [[COPY:%[0-9]+]]:agpr_32 = COPY $agpr0289 ; GFX10-NEXT: $agpr0 = COPY [[COPY]]290 %0:agpr(s32) = COPY $agpr0291 %1:agpr(s32) = G_FREEZE %0292 $agpr0 = COPY %1(s32)293 294...295 296---297name: test_freeze_s64298alignment: 1299legalized: true300regBankSelected: true301 302body: |303 bb.0:304 liveins: $vgpr0_vgpr1305 ; GFX6-LABEL: name: test_freeze_s64306 ; GFX6: liveins: $vgpr0_vgpr1307 ; GFX6-NEXT: {{ $}}308 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1309 ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]310 ; GFX10-LABEL: name: test_freeze_s64311 ; GFX10: liveins: $vgpr0_vgpr1312 ; GFX10-NEXT: {{ $}}313 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1314 ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]315 %0:vgpr(s64) = COPY $vgpr0_vgpr1316 %1:vgpr(s64) = G_FREEZE %0317 $vgpr0_vgpr1 = COPY %1(s64)318 319...320 321---322name: test_freeze_s128323alignment: 1324legalized: true325regBankSelected: true326 327body: |328 bb.0:329 liveins: $vgpr0_vgpr1_vgpr2_vgpr3330 ; GFX6-LABEL: name: test_freeze_s128331 ; GFX6: liveins: $vgpr0_vgpr1_vgpr2_vgpr3332 ; GFX6-NEXT: {{ $}}333 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_128 = COPY $vgpr0_vgpr1_vgpr2_vgpr3334 ; GFX6-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[COPY]]335 ; GFX10-LABEL: name: test_freeze_s128336 ; GFX10: liveins: $vgpr0_vgpr1_vgpr2_vgpr3337 ; GFX10-NEXT: {{ $}}338 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_128 = COPY $vgpr0_vgpr1_vgpr2_vgpr3339 ; GFX10-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[COPY]]340 %0:vgpr(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3341 %1:vgpr(s128) = G_FREEZE %0342 $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1(s128)343 344...345 346---347name: test_freeze_256348alignment: 1349legalized: true350regBankSelected: true351 352body: |353 bb.0:354 liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7355 ; GFX6-LABEL: name: test_freeze_256356 ; GFX6: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7357 ; GFX6-NEXT: {{ $}}358 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_256 = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7359 ; GFX6-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY [[COPY]]360 ; GFX10-LABEL: name: test_freeze_256361 ; GFX10: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7362 ; GFX10-NEXT: {{ $}}363 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_256 = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7364 ; GFX10-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY [[COPY]]365 %0:vgpr(s256) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7366 %1:vgpr(s256) = G_FREEZE %0367 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %1(s256)368 369...370 371---372name: test_freeze_s512373alignment: 1374legalized: true375regBankSelected: true376 377body: |378 bb.0:379 liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15380 ; GFX6-LABEL: name: test_freeze_s512381 ; GFX6: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15382 ; GFX6-NEXT: {{ $}}383 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_512 = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15384 ; GFX6-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY [[COPY]]385 ; GFX10-LABEL: name: test_freeze_s512386 ; GFX10: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15387 ; GFX10-NEXT: {{ $}}388 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_512 = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15389 ; GFX10-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY [[COPY]]390 %0:vgpr(s512) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15391 %1:vgpr(s512) = G_FREEZE %0392 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY %1(s512)393 394...395 396---397name: test_freeze_v2s32398alignment: 1399legalized: true400regBankSelected: true401 402body: |403 bb.0:404 liveins: $vgpr0_vgpr1405 ; GFX6-LABEL: name: test_freeze_v2s32406 ; GFX6: liveins: $vgpr0_vgpr1407 ; GFX6-NEXT: {{ $}}408 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1409 ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]410 ; GFX10-LABEL: name: test_freeze_v2s32411 ; GFX10: liveins: $vgpr0_vgpr1412 ; GFX10-NEXT: {{ $}}413 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1414 ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]415 %0:vgpr(<2 x s32>) = COPY $vgpr0_vgpr1416 %1:vgpr(<2 x s32>) = G_FREEZE %0417 $vgpr0_vgpr1 = COPY %1(<2 x s32>)418 419...420 421---422name: test_freeze_v3s32423alignment: 1424legalized: true425regBankSelected: true426 427body: |428 bb.0:429 liveins: $vgpr0_vgpr1_vgpr2430 ; GFX6-LABEL: name: test_freeze_v3s32431 ; GFX6: liveins: $vgpr0_vgpr1_vgpr2432 ; GFX6-NEXT: {{ $}}433 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_96 = COPY $vgpr0_vgpr1_vgpr2434 ; GFX6-NEXT: $vgpr0_vgpr1_vgpr2 = COPY [[COPY]]435 ; GFX10-LABEL: name: test_freeze_v3s32436 ; GFX10: liveins: $vgpr0_vgpr1_vgpr2437 ; GFX10-NEXT: {{ $}}438 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_96 = COPY $vgpr0_vgpr1_vgpr2439 ; GFX10-NEXT: $vgpr0_vgpr1_vgpr2 = COPY [[COPY]]440 %0:vgpr(<3 x s32>) = COPY $vgpr0_vgpr1_vgpr2441 %1:vgpr(<3 x s32>) = G_FREEZE %0442 $vgpr0_vgpr1_vgpr2 = COPY %1(<3 x s32>)443 444...445 446---447name: test_freeze_v4s32448alignment: 1449legalized: true450regBankSelected: true451 452body: |453 bb.0:454 liveins: $vgpr0_vgpr1_vgpr2_vgpr3455 ; GFX6-LABEL: name: test_freeze_v4s32456 ; GFX6: liveins: $vgpr0_vgpr1_vgpr2_vgpr3457 ; GFX6-NEXT: {{ $}}458 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_128 = COPY $vgpr0_vgpr1_vgpr2_vgpr3459 ; GFX6-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[COPY]]460 ; GFX10-LABEL: name: test_freeze_v4s32461 ; GFX10: liveins: $vgpr0_vgpr1_vgpr2_vgpr3462 ; GFX10-NEXT: {{ $}}463 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_128 = COPY $vgpr0_vgpr1_vgpr2_vgpr3464 ; GFX10-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[COPY]]465 %0:vgpr(<4 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3466 %1:vgpr(<4 x s32>) = G_FREEZE %0467 $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1(<4 x s32>)468 469...470 471---472name: test_freeze_v5s32473alignment: 1474legalized: true475regBankSelected: true476 477body: |478 bb.0:479 liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4480 ; GFX6-LABEL: name: test_freeze_v5s32481 ; GFX6: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4482 ; GFX6-NEXT: {{ $}}483 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_160 = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4484 ; GFX6-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4 = COPY [[COPY]]485 ; GFX10-LABEL: name: test_freeze_v5s32486 ; GFX10: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4487 ; GFX10-NEXT: {{ $}}488 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_160 = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4489 ; GFX10-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4 = COPY [[COPY]]490 %0:vgpr(<5 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4491 %1:vgpr(<5 x s32>) = G_FREEZE %0492 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4 = COPY %1(<5 x s32>)493 494...495 496---497name: test_freeze_v8s32498alignment: 1499legalized: true500regBankSelected: true501 502body: |503 bb.0:504 liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7505 ; GFX6-LABEL: name: test_freeze_v8s32506 ; GFX6: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7507 ; GFX6-NEXT: {{ $}}508 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_256 = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7509 ; GFX6-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY [[COPY]]510 ; GFX10-LABEL: name: test_freeze_v8s32511 ; GFX10: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7512 ; GFX10-NEXT: {{ $}}513 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_256 = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7514 ; GFX10-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY [[COPY]]515 %0:vgpr(<8 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7516 %1:vgpr(<8 x s32>) = G_FREEZE %0517 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %1(<8 x s32>)518 519...520 521---522name: test_freeze_v16s32523alignment: 1524legalized: true525regBankSelected: true526 527body: |528 bb.0:529 liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15530 ; GFX6-LABEL: name: test_freeze_v16s32531 ; GFX6: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15532 ; GFX6-NEXT: {{ $}}533 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_512 = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15534 ; GFX6-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY [[COPY]]535 ; GFX10-LABEL: name: test_freeze_v16s32536 ; GFX10: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15537 ; GFX10-NEXT: {{ $}}538 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_512 = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15539 ; GFX10-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY [[COPY]]540 %0:vgpr(<16 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15541 %1:vgpr(<16 x s32>) = G_FREEZE %0542 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY %1(<16 x s32>)543 544...545 546---547name: test_freeze_v2s16548alignment: 1549legalized: true550regBankSelected: true551 552body: |553 bb.0:554 liveins: $vgpr0555 ; GFX6-LABEL: name: test_freeze_v2s16556 ; GFX6: liveins: $vgpr0557 ; GFX6-NEXT: {{ $}}558 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0559 ; GFX6-NEXT: $vgpr0 = COPY [[COPY]]560 ; GFX10-LABEL: name: test_freeze_v2s16561 ; GFX10: liveins: $vgpr0562 ; GFX10-NEXT: {{ $}}563 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0564 ; GFX10-NEXT: $vgpr0 = COPY [[COPY]]565 %0:vgpr(<2 x s16>) = COPY $vgpr0566 %1:vgpr(<2 x s16>) = G_FREEZE %0567 $vgpr0 = COPY %1(<2 x s16>)568 569...570 571---572name: test_freeze_v4s16573alignment: 1574legalized: true575regBankSelected: true576 577body: |578 bb.0:579 liveins: $vgpr0_vgpr1580 ; GFX6-LABEL: name: test_freeze_v4s16581 ; GFX6: liveins: $vgpr0_vgpr1582 ; GFX6-NEXT: {{ $}}583 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1584 ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]585 ; GFX10-LABEL: name: test_freeze_v4s16586 ; GFX10: liveins: $vgpr0_vgpr1587 ; GFX10-NEXT: {{ $}}588 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1589 ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]590 %0:vgpr(<4 x s16>) = COPY $vgpr0_vgpr1591 %1:vgpr(<4 x s16>) = G_FREEZE %0592 $vgpr0_vgpr1 = COPY %1(<4 x s16>)593 594...595 596---597name: test_freeze_v6s16598alignment: 1599legalized: true600regBankSelected: true601 602body: |603 bb.0:604 liveins: $vgpr0_vgpr1_vgpr2605 ; GFX6-LABEL: name: test_freeze_v6s16606 ; GFX6: liveins: $vgpr0_vgpr1_vgpr2607 ; GFX6-NEXT: {{ $}}608 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_96 = COPY $vgpr0_vgpr1_vgpr2609 ; GFX6-NEXT: $vgpr0_vgpr1_vgpr2 = COPY [[COPY]]610 ; GFX10-LABEL: name: test_freeze_v6s16611 ; GFX10: liveins: $vgpr0_vgpr1_vgpr2612 ; GFX10-NEXT: {{ $}}613 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_96 = COPY $vgpr0_vgpr1_vgpr2614 ; GFX10-NEXT: $vgpr0_vgpr1_vgpr2 = COPY [[COPY]]615 %0:vgpr(<6 x s16>) = COPY $vgpr0_vgpr1_vgpr2616 %1:vgpr(<6 x s16>) = G_FREEZE %0617 $vgpr0_vgpr1_vgpr2 = COPY %1(<6 x s16>)618 619...620 621---622name: test_freeze_v8s16623alignment: 1624legalized: true625regBankSelected: true626 627body: |628 bb.0:629 liveins: $vgpr0_vgpr1_vgpr2_vgpr3630 ; GFX6-LABEL: name: test_freeze_v8s16631 ; GFX6: liveins: $vgpr0_vgpr1_vgpr2_vgpr3632 ; GFX6-NEXT: {{ $}}633 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_128 = COPY $vgpr0_vgpr1_vgpr2_vgpr3634 ; GFX6-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[COPY]]635 ; GFX10-LABEL: name: test_freeze_v8s16636 ; GFX10: liveins: $vgpr0_vgpr1_vgpr2_vgpr3637 ; GFX10-NEXT: {{ $}}638 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_128 = COPY $vgpr0_vgpr1_vgpr2_vgpr3639 ; GFX10-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[COPY]]640 %0:vgpr(<8 x s16>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3641 %1:vgpr(<8 x s16>) = G_FREEZE %0642 $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1(<8 x s16>)643 644...645 646---647name: test_freeze_v2s64648alignment: 1649legalized: true650regBankSelected: true651 652body: |653 bb.0:654 liveins: $vgpr0_vgpr1_vgpr2_vgpr3655 ; GFX6-LABEL: name: test_freeze_v2s64656 ; GFX6: liveins: $vgpr0_vgpr1_vgpr2_vgpr3657 ; GFX6-NEXT: {{ $}}658 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_128 = COPY $vgpr0_vgpr1_vgpr2_vgpr3659 ; GFX6-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[COPY]]660 ; GFX10-LABEL: name: test_freeze_v2s64661 ; GFX10: liveins: $vgpr0_vgpr1_vgpr2_vgpr3662 ; GFX10-NEXT: {{ $}}663 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_128 = COPY $vgpr0_vgpr1_vgpr2_vgpr3664 ; GFX10-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[COPY]]665 %0:vgpr(<2 x s64>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3666 %1:vgpr(<2 x s64>) = G_FREEZE %0667 $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1(<2 x s64>)668 669...670 671---672name: test_freeze_p0673alignment: 1674legalized: true675regBankSelected: true676 677body: |678 bb.0:679 liveins: $vgpr0_vgpr1680 ; GFX6-LABEL: name: test_freeze_p0681 ; GFX6: liveins: $vgpr0_vgpr1682 ; GFX6-NEXT: {{ $}}683 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1684 ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]685 ; GFX10-LABEL: name: test_freeze_p0686 ; GFX10: liveins: $vgpr0_vgpr1687 ; GFX10-NEXT: {{ $}}688 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1689 ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]690 %0:vgpr(p0) = COPY $vgpr0_vgpr1691 %1:vgpr(p0) = G_FREEZE %0692 $vgpr0_vgpr1 = COPY %1(p0)693 694...695 696---697name: test_freeze_p1698alignment: 1699legalized: true700regBankSelected: true701 702body: |703 bb.0:704 liveins: $vgpr0_vgpr1705 ; GFX6-LABEL: name: test_freeze_p1706 ; GFX6: liveins: $vgpr0_vgpr1707 ; GFX6-NEXT: {{ $}}708 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1709 ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]710 ; GFX10-LABEL: name: test_freeze_p1711 ; GFX10: liveins: $vgpr0_vgpr1712 ; GFX10-NEXT: {{ $}}713 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1714 ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]715 %0:vgpr(p1) = COPY $vgpr0_vgpr1716 %1:vgpr(p1) = G_FREEZE %0717 $vgpr0_vgpr1 = COPY %1(p1)718 719...720 721---722name: test_freeze_p2723alignment: 1724legalized: true725regBankSelected: true726 727body: |728 bb.0:729 liveins: $vgpr0730 ; GFX6-LABEL: name: test_freeze_p2731 ; GFX6: liveins: $vgpr0732 ; GFX6-NEXT: {{ $}}733 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0734 ; GFX6-NEXT: $vgpr0 = COPY [[COPY]]735 ; GFX10-LABEL: name: test_freeze_p2736 ; GFX10: liveins: $vgpr0737 ; GFX10-NEXT: {{ $}}738 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0739 ; GFX10-NEXT: $vgpr0 = COPY [[COPY]]740 %0:vgpr(p2) = COPY $vgpr0741 %1:vgpr(p2) = G_FREEZE %0742 $vgpr0 = COPY %1(p2)743 744...745 746---747name: test_freeze_p3748alignment: 1749legalized: true750regBankSelected: true751 752body: |753 bb.0:754 liveins: $vgpr0755 ; GFX6-LABEL: name: test_freeze_p3756 ; GFX6: liveins: $vgpr0757 ; GFX6-NEXT: {{ $}}758 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0759 ; GFX6-NEXT: $vgpr0 = COPY [[COPY]]760 ; GFX10-LABEL: name: test_freeze_p3761 ; GFX10: liveins: $vgpr0762 ; GFX10-NEXT: {{ $}}763 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0764 ; GFX10-NEXT: $vgpr0 = COPY [[COPY]]765 %0:vgpr(p3) = COPY $vgpr0766 %1:vgpr(p3) = G_FREEZE %0767 $vgpr0 = COPY %1(p3)768 769...770 771---772name: test_freeze_p4773alignment: 1774legalized: true775regBankSelected: true776 777body: |778 bb.0:779 liveins: $vgpr0_vgpr1780 ; GFX6-LABEL: name: test_freeze_p4781 ; GFX6: liveins: $vgpr0_vgpr1782 ; GFX6-NEXT: {{ $}}783 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1784 ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]785 ; GFX10-LABEL: name: test_freeze_p4786 ; GFX10: liveins: $vgpr0_vgpr1787 ; GFX10-NEXT: {{ $}}788 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1789 ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]790 %0:vgpr(p4) = COPY $vgpr0_vgpr1791 %1:vgpr(p4) = G_FREEZE %0792 $vgpr0_vgpr1 = COPY %1(p4)793 794...795 796---797name: test_freeze_p5798alignment: 1799legalized: true800regBankSelected: true801 802body: |803 bb.0:804 liveins: $vgpr0805 ; GFX6-LABEL: name: test_freeze_p5806 ; GFX6: liveins: $vgpr0807 ; GFX6-NEXT: {{ $}}808 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0809 ; GFX6-NEXT: $vgpr0 = COPY [[COPY]]810 ; GFX10-LABEL: name: test_freeze_p5811 ; GFX10: liveins: $vgpr0812 ; GFX10-NEXT: {{ $}}813 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0814 ; GFX10-NEXT: $vgpr0 = COPY [[COPY]]815 %0:vgpr(p5) = COPY $vgpr0816 %1:vgpr(p5) = G_FREEZE %0817 $vgpr0 = COPY %1(p5)818 819...820 821---822name: test_freeze_p999823alignment: 1824legalized: true825regBankSelected: true826 827body: |828 bb.0:829 liveins: $vgpr0_vgpr1830 ; GFX6-LABEL: name: test_freeze_p999831 ; GFX6: liveins: $vgpr0_vgpr1832 ; GFX6-NEXT: {{ $}}833 ; GFX6-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1834 ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]835 ; GFX10-LABEL: name: test_freeze_p999836 ; GFX10: liveins: $vgpr0_vgpr1837 ; GFX10-NEXT: {{ $}}838 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1839 ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[COPY]]840 %0:vgpr(p999) = COPY $vgpr0_vgpr1841 %1:vgpr(p999) = G_FREEZE %0842 $vgpr0_vgpr1 = COPY %1(p999)843 844...845