brintos

brintos / llvm-project-archived public Read only

0
0
Text · 25.7 KiB · 52ac985 Raw
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