brintos

brintos / llvm-project-archived public Read only

0
0
Text · 19.2 KiB · 24bc62c Raw
649 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=regbankselect %s -o - | FileCheck %s3# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -run-pass=regbankselect %s -o - | FileCheck %s4# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=regbankselect %s -o - | FileCheck %s5 6---7name: test_freeze_s1_vgpr_to_vgpr8legalized: true9 10body: |11  bb.0:12    liveins: $vgpr013    ; CHECK-LABEL: name: test_freeze_s1_vgpr_to_vgpr14    ; CHECK: liveins: $vgpr015    ; CHECK-NEXT: {{  $}}16    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr017    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)18    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(s1) = G_FREEZE [[TRUNC]]19    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[FREEZE]](s1)20    ; CHECK-NEXT: $vgpr0 = COPY [[ANYEXT]](s32)21    %0:_(s32) = COPY $vgpr022    %1:_(s1) = G_TRUNC %0(s32)23    %2:_(s1) = G_FREEZE %124    %3:_(s32) = G_ANYEXT %2(s1)25    $vgpr0 = COPY %3(s32)26 27...28 29---30name: test_freeze_s1_vgpr_to_agpr31legalized: true32 33body: |34  bb.0:35    liveins: $vgpr036    ; CHECK-LABEL: name: test_freeze_s1_vgpr_to_agpr37    ; CHECK: liveins: $vgpr038    ; CHECK-NEXT: {{  $}}39    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr040    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:vgpr(s1) = G_TRUNC [[COPY]](s32)41    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(s1) = G_FREEZE [[TRUNC]]42    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[FREEZE]](s1)43    ; CHECK-NEXT: $agpr0 = COPY [[ANYEXT]](s32)44    %0:_(s32) = COPY $vgpr045    %1:_(s1) = G_TRUNC %0(s32)46    %2:_(s1) = G_FREEZE %147    %3:_(s32) = G_ANYEXT %2(s1)48    $agpr0 = COPY %3(s32)49 50...51 52---53name: test_freeze_s1_sgpr_to_sgpr54legalized: true55body:             |56  bb.0:57    liveins: $sgpr058 59    ; CHECK-LABEL: name: test_freeze_s1_sgpr_to_sgpr60    ; CHECK: liveins: $sgpr061    ; CHECK-NEXT: {{  $}}62    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr063    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[COPY]](s32)64    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:sgpr(s1) = G_FREEZE [[TRUNC]]65    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[FREEZE]](s1)66    ; CHECK-NEXT: $sgpr0 = COPY [[ANYEXT]](s32)67    %0:_(s32) = COPY $sgpr068    %1:_(s1) = G_TRUNC %0(s32)69    %2:_(s1) = G_FREEZE %170    %3:_(s32) = G_ANYEXT %2(s1)71    $sgpr0 = COPY %3(s32)72 73...74 75---76name: test_freeze_s1_vcc77legalized: true78 79body: |80  bb.0:81    liveins: $vgpr0, $vgpr182    ; CHECK-LABEL: name: test_freeze_s1_vcc83    ; CHECK: liveins: $vgpr0, $vgpr184    ; CHECK-NEXT: {{  $}}85    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr086    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr187    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY1]]88    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vcc(s1) = G_FREEZE [[ICMP]]89    ; CHECK-NEXT: S_ENDPGM 0, implicit [[FREEZE]](s1)90    %0:_(s32) = COPY $vgpr091    %1:_(s32) = COPY $vgpr192    %2:_(s1) = G_ICMP intpred(eq), %0(s32), %193    %3:_(s1) = G_FREEZE %294    S_ENDPGM 0, implicit %395 96...97 98---99name: test_freeze_s16_vgpr_to_vgpr100legalized: true101 102body: |103  bb.0:104    liveins: $vgpr0105    ; CHECK-LABEL: name: test_freeze_s16_vgpr_to_vgpr106    ; CHECK: liveins: $vgpr0107    ; CHECK-NEXT: {{  $}}108    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0109    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)110    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(s16) = G_FREEZE [[TRUNC]]111    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:vgpr(s32) = G_ANYEXT [[FREEZE]](s16)112    ; CHECK-NEXT: $vgpr0 = COPY [[ANYEXT]](s32)113    %0:_(s32) = COPY $vgpr0114    %1:_(s16) = G_TRUNC %0(s32)115    %2:_(s16) = G_FREEZE %1116    %3:_(s32) = G_ANYEXT %2(s16)117    $vgpr0 = COPY %3(s32)118 119...120 121---122name: test_freeze_s32_vgpr_to_vgpr123legalized: true124 125body: |126  bb.0:127    liveins: $vgpr0128    ; CHECK-LABEL: name: test_freeze_s32_vgpr_to_vgpr129    ; CHECK: liveins: $vgpr0130    ; CHECK-NEXT: {{  $}}131    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0132    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(s32) = G_FREEZE [[COPY]]133    ; CHECK-NEXT: $vgpr0 = COPY [[FREEZE]](s32)134    %0:_(s32) = COPY $vgpr0135    %1:_(s32) = G_FREEZE %0136    $vgpr0 = COPY %1(s32)137 138...139 140---141name: test_freeze_s32_sgpr_to_sgpr142legalized: true143 144body: |145  bb.0:146    liveins: $sgpr0147    ; CHECK-LABEL: name: test_freeze_s32_sgpr_to_sgpr148    ; CHECK: liveins: $sgpr0149    ; CHECK-NEXT: {{  $}}150    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0151    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:sgpr(s32) = G_FREEZE [[COPY]]152    ; CHECK-NEXT: $sgpr0 = COPY [[FREEZE]](s32)153    %0:_(s32) = COPY $sgpr0154    %1:_(s32) = G_FREEZE %0155    $sgpr0 = COPY %1(s32)156 157...158 159---160name: test_freeze_s32_sgpr_to_vgpr161legalized: true162 163body: |164  bb.0:165    liveins: $sgpr0166    ; CHECK-LABEL: name: test_freeze_s32_sgpr_to_vgpr167    ; CHECK: liveins: $sgpr0168    ; CHECK-NEXT: {{  $}}169    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0170    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:sgpr(s32) = G_FREEZE [[COPY]]171    ; CHECK-NEXT: $vgpr0 = COPY [[FREEZE]](s32)172    %0:_(s32) = COPY $sgpr0173    %1:_(s32) = G_FREEZE %0174    $vgpr0 = COPY %1(s32)175 176...177 178---179name: test_freeze_s32_vgpr_to_agpr180legalized: true181 182body: |183  bb.0:184    liveins: $vgpr0185    ; CHECK-LABEL: name: test_freeze_s32_vgpr_to_agpr186    ; CHECK: liveins: $vgpr0187    ; CHECK-NEXT: {{  $}}188    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0189    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(s32) = G_FREEZE [[COPY]]190    ; CHECK-NEXT: $agpr0 = COPY [[FREEZE]](s32)191    %0:_(s32) = COPY $vgpr0192    %1:_(s32) = G_FREEZE %0193    $agpr0 = COPY %1(s32)194 195...196 197---198name: test_freeze_s32_sgpr_to_agpr199legalized: true200 201body: |202  bb.0:203    liveins: $sgpr0204    ; CHECK-LABEL: name: test_freeze_s32_sgpr_to_agpr205    ; CHECK: liveins: $sgpr0206    ; CHECK-NEXT: {{  $}}207    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0208    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:sgpr(s32) = G_FREEZE [[COPY]]209    ; CHECK-NEXT: $agpr0 = COPY [[FREEZE]](s32)210    %0:_(s32) = COPY $sgpr0211    %1:_(s32) = G_FREEZE %0212    $agpr0 = COPY %1(s32)213 214...215 216---217name: test_freeze_s32_agpr_to_vgpr218legalized: true219 220body: |221  bb.0:222    liveins: $agpr0223    ; CHECK-LABEL: name: test_freeze_s32_agpr_to_vgpr224    ; CHECK: liveins: $agpr0225    ; CHECK-NEXT: {{  $}}226    ; CHECK-NEXT: [[COPY:%[0-9]+]]:agpr(s32) = COPY $agpr0227    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:agpr(s32) = G_FREEZE [[COPY]]228    ; CHECK-NEXT: $vgpr0 = COPY [[FREEZE]](s32)229    %0:_(s32) = COPY $agpr0230    %1:_(s32) = G_FREEZE %0231    $vgpr0 = COPY %1(s32)232 233...234 235---236name: test_freeze_s32_agpr_to_agpr237legalized: true238 239body: |240  bb.0:241    liveins: $agpr0242    ; CHECK-LABEL: name: test_freeze_s32_agpr_to_agpr243    ; CHECK: liveins: $agpr0244    ; CHECK-NEXT: {{  $}}245    ; CHECK-NEXT: [[COPY:%[0-9]+]]:agpr(s32) = COPY $agpr0246    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:agpr(s32) = G_FREEZE [[COPY]]247    ; CHECK-NEXT: $agpr0 = COPY [[FREEZE]](s32)248    %0:_(s32) = COPY $agpr0249    %1:_(s32) = G_FREEZE %0250    $agpr0 = COPY %1(s32)251 252...253 254---255name: test_freeze_s64256legalized: true257 258body:  |259  bb.0:260    liveins: $vgpr0_vgpr1261    ; CHECK-LABEL: name: test_freeze_s64262    ; CHECK: liveins: $vgpr0_vgpr1263    ; CHECK-NEXT: {{  $}}264    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1265    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(s64) = G_FREEZE [[COPY]]266    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[FREEZE]](s64)267    %0:_(s64) = COPY $vgpr0_vgpr1268    %1:_(s64) = G_FREEZE %0269    $vgpr0_vgpr1 = COPY %1(s64)270...271 272---273name: test_freeze_s128274legalized: true275 276body: |277  bb.0:278    liveins: $vgpr0_vgpr1_vgpr2_vgpr3279    ; CHECK-LABEL: name: test_freeze_s128280    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3281    ; CHECK-NEXT: {{  $}}282    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3283    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(s128) = G_FREEZE [[COPY]]284    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[FREEZE]](s128)285    %0:_(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3286    %1:_(s128) = G_FREEZE %0287    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1(s128)288...289 290---291name: test_freeze_256292legalized: true293 294body: |295  bb.0:296    liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7297    ; CHECK-LABEL: name: test_freeze_256298    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7299    ; CHECK-NEXT: {{  $}}300    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s256) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7301    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(s256) = G_FREEZE [[COPY]]302    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY [[FREEZE]](s256)303    %0:_(s256) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7304    %1:_(s256) = G_FREEZE %0305    $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %1(s256)306...307 308---309name: test_freeze_s512310legalized: true311 312body: |313  bb.0:314    liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15315    ; CHECK-LABEL: name: test_freeze_s512316    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15317    ; CHECK-NEXT: {{  $}}318    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s512) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15319    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(s512) = G_FREEZE [[COPY]]320    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY [[FREEZE]](s512)321    %0:_(s512) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15322    %1:_(s512) = G_FREEZE %0323    $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY %1(s512)324...325 326---327name: test_freeze_v2s32328legalized: true329 330body: |331  bb.0:332    liveins: $vgpr0_vgpr1333    ; CHECK-LABEL: name: test_freeze_v2s32334    ; CHECK: liveins: $vgpr0_vgpr1335    ; CHECK-NEXT: {{  $}}336    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<2 x s32>) = COPY $vgpr0_vgpr1337    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(<2 x s32>) = G_FREEZE [[COPY]]338    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[FREEZE]](<2 x s32>)339    %0:_(<2 x s32>) = COPY $vgpr0_vgpr1340    %1:_(<2 x s32>) = G_FREEZE %0341    $vgpr0_vgpr1 = COPY %1(<2 x s32>)342...343 344---345name: test_freeze_v3s32346legalized: true347 348body: |349  bb.0:350    liveins: $vgpr0_vgpr1_vgpr2351    ; CHECK-LABEL: name: test_freeze_v3s32352    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2353    ; CHECK-NEXT: {{  $}}354    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<3 x s32>) = COPY $vgpr0_vgpr1_vgpr2355    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(<3 x s32>) = G_FREEZE [[COPY]]356    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2 = COPY [[FREEZE]](<3 x s32>)357    %0:_(<3 x s32>) = COPY $vgpr0_vgpr1_vgpr2358    %1:_(<3 x s32>) = G_FREEZE %0359    $vgpr0_vgpr1_vgpr2 = COPY %1(<3 x s32>)360...361 362---363name: test_freeze_v4s32364legalized: true365 366body: |367  bb.0:368    liveins: $vgpr0_vgpr1_vgpr2_vgpr3369    ; CHECK-LABEL: name: test_freeze_v4s32370    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3371    ; CHECK-NEXT: {{  $}}372    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<4 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3373    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(<4 x s32>) = G_FREEZE [[COPY]]374    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[FREEZE]](<4 x s32>)375    %0:_(<4 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3376    %1:_(<4 x s32>) = G_FREEZE %0377    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1(<4 x s32>)378...379 380---381name: test_freeze_v5s32382legalized: true383 384body:  |385  bb.0:386    liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4387    ; CHECK-LABEL: name: test_freeze_v5s32388    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4389    ; CHECK-NEXT: {{  $}}390    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<5 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4391    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(<5 x s32>) = G_FREEZE [[COPY]]392    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4 = COPY [[FREEZE]](<5 x s32>)393    %0:_(<5 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4394    %1:_(<5 x s32>) = G_FREEZE %0395    $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4 = COPY %1(<5 x s32>)396...397 398---399name: test_freeze_v8s32400legalized: true401 402body: |403  bb.0:404    liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7405    ; CHECK-LABEL: name: test_freeze_v8s32406    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7407    ; CHECK-NEXT: {{  $}}408    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<8 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7409    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(<8 x s32>) = G_FREEZE [[COPY]]410    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY [[FREEZE]](<8 x s32>)411    %0:_(<8 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7412    %1:_(<8 x s32>) = G_FREEZE %0413    $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %1(<8 x s32>)414...415 416---417name: test_freeze_v16s32418legalized: true419 420body: |421  bb.0:422    liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15423    ; CHECK-LABEL: name: test_freeze_v16s32424    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15425    ; CHECK-NEXT: {{  $}}426    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<16 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15427    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(<16 x s32>) = G_FREEZE [[COPY]]428    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY [[FREEZE]](<16 x s32>)429    %0:_(<16 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15430    %1:_(<16 x s32>) = G_FREEZE %0431    $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY %1(<16 x s32>)432...433 434---435name: test_freeze_v2s16436legalized: true437 438body: |439  bb.0:440    liveins: $vgpr0441    ; CHECK-LABEL: name: test_freeze_v2s16442    ; CHECK: liveins: $vgpr0443    ; CHECK-NEXT: {{  $}}444    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<2 x s16>) = COPY $vgpr0445    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(<2 x s16>) = G_FREEZE [[COPY]]446    ; CHECK-NEXT: $vgpr0 = COPY [[FREEZE]](<2 x s16>)447    %0:_(<2 x s16>) = COPY $vgpr0448    %1:_(<2 x s16>) = G_FREEZE %0449    $vgpr0 = COPY %1(<2 x s16>)450...451 452---453name: test_freeze_v4s16454legalized: true455 456body: |457  bb.0:458    liveins: $vgpr0_vgpr1459    ; CHECK-LABEL: name: test_freeze_v4s16460    ; CHECK: liveins: $vgpr0_vgpr1461    ; CHECK-NEXT: {{  $}}462    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<4 x s16>) = COPY $vgpr0_vgpr1463    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(<4 x s16>) = G_FREEZE [[COPY]]464    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[FREEZE]](<4 x s16>)465    %0:_(<4 x s16>) = COPY $vgpr0_vgpr1466    %1:_(<4 x s16>) = G_FREEZE %0467    $vgpr0_vgpr1 = COPY %1(<4 x s16>)468...469 470---471name: test_freeze_v6s16472legalized: true473 474body: |475  bb.0:476    liveins: $vgpr0_vgpr1_vgpr2477    ; CHECK-LABEL: name: test_freeze_v6s16478    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2479    ; CHECK-NEXT: {{  $}}480    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<6 x s16>) = COPY $vgpr0_vgpr1_vgpr2481    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(<6 x s16>) = G_FREEZE [[COPY]]482    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2 = COPY [[FREEZE]](<6 x s16>)483    %0:_(<6 x s16>) = COPY $vgpr0_vgpr1_vgpr2484    %1:_(<6 x s16>) = G_FREEZE %0485    $vgpr0_vgpr1_vgpr2 = COPY %1(<6 x s16>)486...487 488---489name: test_freeze_v8s16490legalized: true491 492body: |493  bb.0:494    liveins: $vgpr0_vgpr1_vgpr2_vgpr3495    ; CHECK-LABEL: name: test_freeze_v8s16496    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3497    ; CHECK-NEXT: {{  $}}498    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<8 x s16>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3499    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(<8 x s16>) = G_FREEZE [[COPY]]500    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[FREEZE]](<8 x s16>)501    %0:_(<8 x s16>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3502    %1:_(<8 x s16>) = G_FREEZE %0503    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1(<8 x s16>)504...505 506---507name: test_freeze_v2s64508legalized: true509 510body: |511  bb.0:512    liveins: $vgpr0_vgpr1_vgpr2_vgpr3513    ; CHECK-LABEL: name: test_freeze_v2s64514    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3515    ; CHECK-NEXT: {{  $}}516    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<2 x s64>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3517    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(<2 x s64>) = G_FREEZE [[COPY]]518    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[FREEZE]](<2 x s64>)519    %0:_(<2 x s64>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3520    %1:_(<2 x s64>) = G_FREEZE %0521    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1(<2 x s64>)522...523 524---525name: test_freeze_p0526legalized: true527 528body: |529  bb.0:530    liveins: $vgpr0_vgpr1531    ; CHECK-LABEL: name: test_freeze_p0532    ; CHECK: liveins: $vgpr0_vgpr1533    ; CHECK-NEXT: {{  $}}534    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p0) = COPY $vgpr0_vgpr1535    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(p0) = G_FREEZE [[COPY]]536    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[FREEZE]](p0)537    %0:_(p0) = COPY $vgpr0_vgpr1538    %1:_(p0) = G_FREEZE %0539    $vgpr0_vgpr1 = COPY %1(p0)540...541 542---543name: test_freeze_p1544legalized: true545 546body: |547  bb.0:548    liveins: $vgpr0_vgpr1549    ; CHECK-LABEL: name: test_freeze_p1550    ; CHECK: liveins: $vgpr0_vgpr1551    ; CHECK-NEXT: {{  $}}552    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p1) = COPY $vgpr0_vgpr1553    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(p1) = G_FREEZE [[COPY]]554    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[FREEZE]](p1)555    %0:_(p1) = COPY $vgpr0_vgpr1556    %1:_(p1) = G_FREEZE %0557    $vgpr0_vgpr1 = COPY %1(p1)558...559 560---561name: test_freeze_p2562legalized: true563 564body:  |565  bb.0:566    liveins: $vgpr0567    ; CHECK-LABEL: name: test_freeze_p2568    ; CHECK: liveins: $vgpr0569    ; CHECK-NEXT: {{  $}}570    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p2) = COPY $vgpr0571    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(p2) = G_FREEZE [[COPY]]572    ; CHECK-NEXT: $vgpr0 = COPY [[FREEZE]](p2)573    %0:_(p2) = COPY $vgpr0574    %1:_(p2) = G_FREEZE %0575    $vgpr0 = COPY %1(p2)576...577 578---579name: test_freeze_p3580legalized: true581 582body: |583  bb.0:584    liveins: $vgpr0585    ; CHECK-LABEL: name: test_freeze_p3586    ; CHECK: liveins: $vgpr0587    ; CHECK-NEXT: {{  $}}588    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0589    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(p3) = G_FREEZE [[COPY]]590    ; CHECK-NEXT: $vgpr0 = COPY [[FREEZE]](p3)591    %0:_(p3) = COPY $vgpr0592    %1:_(p3) = G_FREEZE %0593    $vgpr0 = COPY %1(p3)594...595 596---597name: test_freeze_p4598legalized: true599 600body: |601  bb.0:602    liveins: $vgpr0_vgpr1603    ; CHECK-LABEL: name: test_freeze_p4604    ; CHECK: liveins: $vgpr0_vgpr1605    ; CHECK-NEXT: {{  $}}606    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p4) = COPY $vgpr0_vgpr1607    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(p4) = G_FREEZE [[COPY]]608    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[FREEZE]](p4)609    %0:_(p4) = COPY $vgpr0_vgpr1610    %1:_(p4) = G_FREEZE %0611    $vgpr0_vgpr1 = COPY %1(p4)612...613 614---615name: test_freeze_p5616legalized: true617 618body: |619  bb.0:620    liveins: $vgpr0621    ; CHECK-LABEL: name: test_freeze_p5622    ; CHECK: liveins: $vgpr0623    ; CHECK-NEXT: {{  $}}624    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p5) = COPY $vgpr0625    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(p5) = G_FREEZE [[COPY]]626    ; CHECK-NEXT: $vgpr0 = COPY [[FREEZE]](p5)627    %0:_(p5) = COPY $vgpr0628    %1:_(p5) = G_FREEZE %0629    $vgpr0 = COPY %1(p5)630...631 632---633name: test_freeze_p999634legalized: true635 636body: |637  bb.0:638    liveins: $vgpr0_vgpr1639    ; CHECK-LABEL: name: test_freeze_p999640    ; CHECK: liveins: $vgpr0_vgpr1641    ; CHECK-NEXT: {{  $}}642    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p999) = COPY $vgpr0_vgpr1643    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:vgpr(p999) = G_FREEZE [[COPY]]644    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[FREEZE]](p999)645    %0:_(p999) = COPY $vgpr0_vgpr1646    %1:_(p999) = G_FREEZE %0647    $vgpr0_vgpr1 = COPY %1(p999)648...649