brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.6 KiB · 4e4ab1b Raw
648 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -run-pass=legalizer -global-isel-abort=0 %s -o - | FileCheck %s3# RUN: llc -O0 -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -run-pass=legalizer -global-isel-abort=0 %s -o - | FileCheck %s4 5---6name: test_implicit_def_s17body: |8  bb.0:9 10    ; CHECK-LABEL: name: test_implicit_def_s111    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF12    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](s32)13    %0:_(s1) = G_IMPLICIT_DEF14    %1:_(s32) = G_ANYEXT %015    $vgpr0 = COPY %116...17 18---19name: test_implicit_def_s720body: |21  bb.0:22 23    ; CHECK-LABEL: name: test_implicit_def_s724    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF25    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](s32)26    %0:_(s7) = G_IMPLICIT_DEF27    %1:_(s32) = G_ANYEXT %028    $vgpr0 = COPY %129...30 31---32name: test_implicit_def_s833body: |34  bb.0:35 36    ; CHECK-LABEL: name: test_implicit_def_s837    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF38    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](s32)39    %0:_(s8) = G_IMPLICIT_DEF40    %1:_(s32) = G_ANYEXT %041    $vgpr0 = COPY %142...43 44---45name: test_implicit_def_s1646body: |47  bb.0:48 49    ; CHECK-LABEL: name: test_implicit_def_s1650    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF51    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](s32)52    %0:_(s16) = G_IMPLICIT_DEF53    %1:_(s32) = G_ANYEXT %054    $vgpr0 = COPY %155...56 57---58name: test_implicit_def_s3259body: |60  bb.0:61 62    ; CHECK-LABEL: name: test_implicit_def_s3263    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF64    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](s32)65    %0:_(s32) = G_IMPLICIT_DEF66    $vgpr0 = COPY %067...68 69---70name: test_implicit_def_4871body: |72  bb.0:73 74    ; CHECK-LABEL: name: test_implicit_def_4875    ; CHECK: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF76    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[DEF]](s64)77    %0:_(s48) = G_IMPLICIT_DEF78    %1:_(s64) = G_ANYEXT %079    $vgpr0_vgpr1 = COPY %180...81 82---83name: test_implicit_def_s6484body: |85  bb.0:86 87    ; CHECK-LABEL: name: test_implicit_def_s6488    ; CHECK: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF89    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[DEF]](s64)90    %0:_(s64) = G_IMPLICIT_DEF91    $vgpr0_vgpr1 = COPY %092...93 94---95name: test_implicit_def_s6596body: |97  bb.0:98 99    ; CHECK-LABEL: name: test_implicit_def_s65100    ; CHECK: [[DEF:%[0-9]+]]:_(s128) = G_IMPLICIT_DEF101    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s96) = G_TRUNC [[DEF]](s128)102    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2 = COPY [[TRUNC]](s96)103    %0:_(s65) = G_IMPLICIT_DEF104    %1:_(s96) = G_ANYEXT %0105    $vgpr0_vgpr1_vgpr2 = COPY %1106...107 108---109name: test_implicit_def_s128110body: |111  bb.0:112 113    ; CHECK-LABEL: name: test_implicit_def_s128114    ; CHECK: [[DEF:%[0-9]+]]:_(s128) = G_IMPLICIT_DEF115    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[DEF]](s128)116    %0:_(s128) = G_IMPLICIT_DEF117    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %0118...119 120---121name: test_implicit_def_256122body: |123  bb.0:124 125    ; CHECK-LABEL: name: test_implicit_def_256126    ; CHECK: [[DEF:%[0-9]+]]:_(s256) = G_IMPLICIT_DEF127    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY [[DEF]](s256)128    %0:_(s256) = G_IMPLICIT_DEF129    $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %0130...131 132---133name: test_implicit_def_s448134body: |135  bb.0:136 137    ; CHECK-LABEL: name: test_implicit_def_s448138    ; CHECK: [[DEF:%[0-9]+]]:_(s512) = G_IMPLICIT_DEF139    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s448) = G_TRUNC [[DEF]](s512)140    ; CHECK-NEXT: [[EXTRACT:%[0-9]+]]:_(s32) = G_EXTRACT [[TRUNC]](s448), 0141    ; CHECK-NEXT: $vgpr0 = COPY [[EXTRACT]](s32)142    %0:_(s448) = G_IMPLICIT_DEF143    %1:_(s32) = G_EXTRACT %0, 0144    $vgpr0 = COPY %1145...146 147---148name: test_implicit_def_s512149body: |150  bb.0:151 152    ; CHECK-LABEL: name: test_implicit_def_s512153    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF154    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](s32)155    %0:_(s512) = G_IMPLICIT_DEF156    %1:_(s32) = G_EXTRACT %0, 0157    $vgpr0 = COPY %1158...159 160---161name: test_implicit_def_s1024162body: |163  bb.0:164 165    ; CHECK-LABEL: name: test_implicit_def_s1024166    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF167    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](s32)168    %0:_(s1024) = G_IMPLICIT_DEF169    %1:_(s32) = G_EXTRACT %0, 0170    $vgpr0 = COPY %1171...172 173---174name: test_implicit_def_s1056175body: |176  bb.0:177 178    ; CHECK-LABEL: name: test_implicit_def_s1056179    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF180    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](s32)181    %0:_(s1056) = G_IMPLICIT_DEF182    %1:_(s32) = G_TRUNC %0183    $vgpr0 = COPY %1184...185 186---187name: test_implicit_def_s2048188body: |189  bb.0:190 191    ; CHECK-LABEL: name: test_implicit_def_s2048192    ; CHECK: [[DEF:%[0-9]+]]:_(s1024) = G_IMPLICIT_DEF193    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[DEF]](s1024)194    ; CHECK-NEXT: $vgpr0 = COPY [[TRUNC]](s32)195    %0:_(s2048) = G_IMPLICIT_DEF196    %1:_(s32) = G_TRUNC %0197    $vgpr0 = COPY %1198...199 200---201name: test_implicit_def_v2s32202body: |203  bb.0:204 205    ; CHECK-LABEL: name: test_implicit_def_v2s32206    ; CHECK: [[DEF:%[0-9]+]]:_(<2 x s32>) = G_IMPLICIT_DEF207    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[DEF]](<2 x s32>)208    %0:_(<2 x s32>) = G_IMPLICIT_DEF209    $vgpr0_vgpr1 = COPY %0210...211 212---213name: test_implicit_def_v3s32214body: |215  bb.0:216 217    ; CHECK-LABEL: name: test_implicit_def_v3s32218    ; CHECK: [[DEF:%[0-9]+]]:_(<3 x s32>) = G_IMPLICIT_DEF219    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2 = COPY [[DEF]](<3 x s32>)220    %0:_(<3 x s32>) = G_IMPLICIT_DEF221    $vgpr0_vgpr1_vgpr2 = COPY %0222...223 224---225name: test_implicit_def_v4s32226body: |227  bb.0:228 229    ; CHECK-LABEL: name: test_implicit_def_v4s32230    ; CHECK: [[DEF:%[0-9]+]]:_(<4 x s32>) = G_IMPLICIT_DEF231    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[DEF]](<4 x s32>)232    %0:_(<4 x s32>) = G_IMPLICIT_DEF233    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %0234...235 236---237name: test_implicit_def_v5s32238body: |239  bb.0:240 241    ; CHECK-LABEL: name: test_implicit_def_v5s32242    ; CHECK: [[DEF:%[0-9]+]]:_(<5 x s32>) = G_IMPLICIT_DEF243    ; CHECK-NEXT: S_NOP 0, implicit [[DEF]](<5 x s32>)244    %0:_(<5 x s32>) = G_IMPLICIT_DEF245    S_NOP 0, implicit %0246...247 248---249name: test_implicit_def_v6s32250body: |251  bb.0:252 253    ; CHECK-LABEL: name: test_implicit_def_v6s32254    ; CHECK: [[DEF:%[0-9]+]]:_(<6 x s32>) = G_IMPLICIT_DEF255    ; CHECK-NEXT: S_NOP 0, implicit [[DEF]](<6 x s32>)256    %0:_(<6 x s32>) = G_IMPLICIT_DEF257    S_NOP 0, implicit %0258...259 260---261name: test_implicit_def_v7s32262body: |263  bb.0:264 265    ; CHECK-LABEL: name: test_implicit_def_v7s32266    ; CHECK: [[DEF:%[0-9]+]]:_(<7 x s32>) = G_IMPLICIT_DEF267    ; CHECK-NEXT: S_NOP 0, implicit [[DEF]](<7 x s32>)268    %0:_(<7 x s32>) = G_IMPLICIT_DEF269    S_NOP 0, implicit %0270...271 272---273name: test_implicit_def_v8s32274body: |275  bb.0:276 277    ; CHECK-LABEL: name: test_implicit_def_v8s32278    ; CHECK: [[DEF:%[0-9]+]]:_(<8 x s32>) = G_IMPLICIT_DEF279    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY [[DEF]](<8 x s32>)280    %0:_(<8 x s32>) = G_IMPLICIT_DEF281    $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %0282...283 284---285name: test_implicit_def_v16s32286body: |287  bb.0:288 289    ; CHECK-LABEL: name: test_implicit_def_v16s32290    ; CHECK: [[DEF:%[0-9]+]]:_(<16 x s32>) = G_IMPLICIT_DEF291    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY [[DEF]](<16 x s32>)292    %0:_(<16 x s32>) = G_IMPLICIT_DEF293    $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY %0294...295 296---297name: test_implicit_def_v32s32298body: |299  bb.0:300 301    ; CHECK-LABEL: name: test_implicit_def_v32s32302    ; CHECK: [[DEF:%[0-9]+]]:_(<32 x s32>) = G_IMPLICIT_DEF303    ; CHECK-NEXT: S_NOP 0, implicit [[DEF]](<32 x s32>)304    %0:_(<32 x s32>) = G_IMPLICIT_DEF305    S_NOP 0, implicit %0306...307 308---309name: test_implicit_def_v33s32310body: |311  bb.0:312    liveins: $vgpr0_vgpr1313 314    ; CHECK-LABEL: name: test_implicit_def_v33s32315    ; CHECK: liveins: $vgpr0_vgpr1316    ; CHECK-NEXT: {{  $}}317    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF318    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1319    ; CHECK-NEXT: G_STORE [[DEF]](s32), [[COPY]](p1) :: (volatile store (s32), addrspace 1)320    ; CHECK-NEXT: G_STORE [[DEF]](s32), [[COPY]](p1) :: (volatile store (s32), addrspace 1)321    %0:_(<33 x s32>) = G_IMPLICIT_DEF322    %1:_(s32), %2:_(s32), %3:_(s32), %4:_(s32), %5:_(s32), %6:_(s32), %7:_(s32), %8:_(s32), %9:_(s32), %10:_(s32), %11:_(s32), %12:_(s32), %13:_(s32), %14:_(s32), %15:_(s32), %16:_(s32), %17:_(s32), %18:_(s32), %19:_(s32), %20:_(s32), %21:_(s32), %22:_(s32), %23:_(s32), %24:_(s32), %25:_(s32), %26:_(s32), %27:_(s32), %28:_(s32), %29:_(s32), %30:_(s32), %31:_(s32), %32:_(s32), %33:_(s32) = G_UNMERGE_VALUES %0323    %34:_(p1) = COPY $vgpr0_vgpr1324    G_STORE %1, %34 :: (volatile store (s32), align 4, addrspace 1)325    G_STORE %33, %34 :: (volatile store (s32), align 4, addrspace 1)326 327...328 329---330name: test_implicit_def_v64s32331body: |332  bb.0:333 334    ; CHECK-LABEL: name: test_implicit_def_v64s32335    ; CHECK: [[DEF:%[0-9]+]]:_(<32 x s32>) = G_IMPLICIT_DEF336    ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:_(<64 x s32>) = G_CONCAT_VECTORS [[DEF]](<32 x s32>), [[DEF]](<32 x s32>)337    ; CHECK-NEXT: S_NOP 0, implicit [[CONCAT_VECTORS]](<64 x s32>), implicit [[DEF]](<32 x s32>)338    %0:_(<64 x s32>) = G_IMPLICIT_DEF339    %1:_(<32 x s32>), %2:_(<32 x s32>) = G_UNMERGE_VALUES %0340  S_NOP 0, implicit %0, implicit %1341...342 343---344name: test_implicit_def_v2s1345body: |346  bb.0:347 348    ; CHECK-LABEL: name: test_implicit_def_v2s1349    ; CHECK: [[DEF:%[0-9]+]]:_(<2 x s32>) = G_IMPLICIT_DEF350    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[DEF]](<2 x s32>)351    %0:_(<2 x s1>) = G_IMPLICIT_DEF352    %1:_(<2 x s32>) = G_ANYEXT %0353    $vgpr0_vgpr1 = COPY %1354...355 356---357name: test_implicit_def_v3s1358body: |359  bb.0:360 361    ; CHECK-LABEL: name: test_implicit_def_v3s1362    ; CHECK: [[DEF:%[0-9]+]]:_(<3 x s32>) = G_IMPLICIT_DEF363    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2 = COPY [[DEF]](<3 x s32>)364    %0:_(<3 x s1>) = G_IMPLICIT_DEF365    %1:_(<3 x s32>) = G_ANYEXT %0366    $vgpr0_vgpr1_vgpr2 = COPY %1367...368 369---370name: test_implicit_def_v2s8371body: |372  bb.0:373 374    ; CHECK-LABEL: name: test_implicit_def_v2s8375    ; CHECK: [[DEF:%[0-9]+]]:_(<2 x s32>) = G_IMPLICIT_DEF376    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[DEF]](<2 x s32>)377    %0:_(<2 x s8>) = G_IMPLICIT_DEF378    %1:_(<2 x s32>) = G_ANYEXT %0379    $vgpr0_vgpr1 = COPY %1380...381 382---383name: test_implicit_def_v3s8384body: |385  bb.0:386 387    ; CHECK-LABEL: name: test_implicit_def_v3s8388    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF389    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<3 x s32>) = G_BUILD_VECTOR [[DEF]](s32), [[DEF]](s32), [[DEF]](s32)390    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2 = COPY [[BUILD_VECTOR]](<3 x s32>)391    %0:_(<3 x s8>) = G_IMPLICIT_DEF392    %1:_(<3 x s32>) = G_ANYEXT %0393    $vgpr0_vgpr1_vgpr2 = COPY %1394...395 396---397name: test_implicit_def_v2s16398body: |399  bb.0:400 401    ; CHECK-LABEL: name: test_implicit_def_v2s16402    ; CHECK: [[DEF:%[0-9]+]]:_(<2 x s16>) = G_IMPLICIT_DEF403    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](<2 x s16>)404    %0:_(<2 x s16>) = G_IMPLICIT_DEF405    $vgpr0 = COPY %0406...407 408---409name: test_implicit_def_v3s16410body: |411  bb.0:412 413    ; CHECK-LABEL: name: test_implicit_def_v3s16414    ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0415    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 16416    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[C]], [[C1]](s32)417    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[C]], [[SHL]]418    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR]](s32)419    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[C]], [[C1]](s32)420    ; CHECK-NEXT: [[OR1:%[0-9]+]]:_(s32) = G_OR [[C]], [[SHL1]]421    ; CHECK-NEXT: [[BITCAST1:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR1]](s32)422    ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:_(<4 x s16>) = G_CONCAT_VECTORS [[BITCAST]](<2 x s16>), [[BITCAST1]](<2 x s16>)423    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[CONCAT_VECTORS]](<4 x s16>)424    %0:_(<3 x s16>) = G_IMPLICIT_DEF425    %1:_(<4 x s16>) = G_IMPLICIT_DEF426    %2:_(<4 x s16>) = G_INSERT %1, %0, 0427    $vgpr0_vgpr1 = COPY %2428...429 430---431name: test_implicit_def_v4s16432body: |433  bb.0:434 435    ; CHECK-LABEL: name: test_implicit_def_v4s16436    ; CHECK: [[DEF:%[0-9]+]]:_(<4 x s16>) = G_IMPLICIT_DEF437    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[DEF]](<4 x s16>)438    %0:_(<4 x s16>) = G_IMPLICIT_DEF439    $vgpr0_vgpr1 = COPY %0440...441 442---443name: test_implicit_def_v5s16444body: |445  bb.0:446 447    ; CHECK-LABEL: name: test_implicit_def_v5s16448    ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0449    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 16450    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[C]], [[C1]](s32)451    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[C]], [[SHL]]452    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR]](s32)453    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[C]], [[C1]](s32)454    ; CHECK-NEXT: [[OR1:%[0-9]+]]:_(s32) = G_OR [[C]], [[SHL1]]455    ; CHECK-NEXT: [[BITCAST1:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR1]](s32)456    ; CHECK-NEXT: [[SHL2:%[0-9]+]]:_(s32) = G_SHL [[C]], [[C1]](s32)457    ; CHECK-NEXT: [[OR2:%[0-9]+]]:_(s32) = G_OR [[C]], [[SHL2]]458    ; CHECK-NEXT: [[BITCAST2:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR2]](s32)459    ; CHECK-NEXT: [[SHL3:%[0-9]+]]:_(s32) = G_SHL [[C]], [[C1]](s32)460    ; CHECK-NEXT: [[OR3:%[0-9]+]]:_(s32) = G_OR [[C]], [[SHL3]]461    ; CHECK-NEXT: [[BITCAST3:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR3]](s32)462    ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:_(<8 x s16>) = G_CONCAT_VECTORS [[BITCAST]](<2 x s16>), [[BITCAST1]](<2 x s16>), [[BITCAST2]](<2 x s16>), [[BITCAST3]](<2 x s16>)463    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[CONCAT_VECTORS]](<8 x s16>)464    %0:_(<5 x s16>) = G_IMPLICIT_DEF465    %1:_(<8 x s16>) = G_IMPLICIT_DEF466    %2:_(<8 x s16>) = G_INSERT %1, %0, 0467    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %2468...469 470---471name: test_implicit_def_v6s16472body: |473  bb.0:474 475    ; CHECK-LABEL: name: test_implicit_def_v6s16476    ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0477    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 16478    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[C]], [[C1]](s32)479    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[C]], [[SHL]]480    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR]](s32)481    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[C]], [[C1]](s32)482    ; CHECK-NEXT: [[OR1:%[0-9]+]]:_(s32) = G_OR [[C]], [[SHL1]]483    ; CHECK-NEXT: [[BITCAST1:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR1]](s32)484    ; CHECK-NEXT: [[SHL2:%[0-9]+]]:_(s32) = G_SHL [[C]], [[C1]](s32)485    ; CHECK-NEXT: [[OR2:%[0-9]+]]:_(s32) = G_OR [[C]], [[SHL2]]486    ; CHECK-NEXT: [[BITCAST2:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR2]](s32)487    ; CHECK-NEXT: [[SHL3:%[0-9]+]]:_(s32) = G_SHL [[C]], [[C1]](s32)488    ; CHECK-NEXT: [[OR3:%[0-9]+]]:_(s32) = G_OR [[C]], [[SHL3]]489    ; CHECK-NEXT: [[BITCAST3:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR3]](s32)490    ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:_(<8 x s16>) = G_CONCAT_VECTORS [[BITCAST]](<2 x s16>), [[BITCAST1]](<2 x s16>), [[BITCAST2]](<2 x s16>), [[BITCAST3]](<2 x s16>)491    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[CONCAT_VECTORS]](<8 x s16>)492    %0:_(<6 x s16>) = G_IMPLICIT_DEF493    %1:_(<8 x s16>) = G_IMPLICIT_DEF494    %2:_(<8 x s16>) = G_INSERT %1, %0, 0495    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %2496...497 498---499name: test_implicit_def_v8s16500body: |501  bb.0:502 503    ; CHECK-LABEL: name: test_implicit_def_v8s16504    ; CHECK: [[DEF:%[0-9]+]]:_(<8 x s16>) = G_IMPLICIT_DEF505    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[DEF]](<8 x s16>)506    %0:_(<8 x s16>) = G_IMPLICIT_DEF507    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %0508...509 510---511name: test_implicit_def_v2s64512body: |513  bb.0:514 515    ; CHECK-LABEL: name: test_implicit_def_v2s64516    ; CHECK: [[DEF:%[0-9]+]]:_(<2 x s64>) = G_IMPLICIT_DEF517    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[DEF]](<2 x s64>)518    %0:_(<2 x s64>) = G_IMPLICIT_DEF519    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %0520...521 522---523name: test_implicit_def_v4s8524body: |525  bb.0:526 527    ; CHECK-LABEL: name: test_implicit_def_v4s8528    ; CHECK: [[DEF:%[0-9]+]]:_(<4 x s32>) = G_IMPLICIT_DEF529    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(<4 x s8>) = G_TRUNC [[DEF]](<4 x s32>)530    ; CHECK-NEXT: $vgpr0 = COPY [[TRUNC]](<4 x s8>)531    %0:_(<4 x s8>) = G_IMPLICIT_DEF532    $vgpr0 = COPY %0533...534 535---536name: test_implicit_def_p0537body: |538  bb.0:539 540    ; CHECK-LABEL: name: test_implicit_def_p0541    ; CHECK: [[DEF:%[0-9]+]]:_(p0) = G_IMPLICIT_DEF542    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[DEF]](p0)543    %0:_(p0) = G_IMPLICIT_DEF544    $vgpr0_vgpr1 = COPY %0545...546 547---548name: test_implicit_def_p1549body: |550  bb.0:551 552    ; CHECK-LABEL: name: test_implicit_def_p1553    ; CHECK: [[DEF:%[0-9]+]]:_(p1) = G_IMPLICIT_DEF554    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[DEF]](p1)555    %0:_(p1) = G_IMPLICIT_DEF556    $vgpr0_vgpr1 = COPY %0557...558 559---560name: test_implicit_def_p2561body: |562  bb.0:563 564    ; CHECK-LABEL: name: test_implicit_def_p2565    ; CHECK: [[DEF:%[0-9]+]]:_(p2) = G_IMPLICIT_DEF566    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](p2)567    %0:_(p2) = G_IMPLICIT_DEF568    $vgpr0 = COPY %0569...570 571---572name: test_implicit_def_p3573body: |574  bb.0:575 576    ; CHECK-LABEL: name: test_implicit_def_p3577    ; CHECK: [[DEF:%[0-9]+]]:_(p3) = G_IMPLICIT_DEF578    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](p3)579    %0:_(p3) = G_IMPLICIT_DEF580    $vgpr0 = COPY %0581...582 583---584name: test_implicit_def_p4585body: |586  bb.0:587 588    ; CHECK-LABEL: name: test_implicit_def_p4589    ; CHECK: [[DEF:%[0-9]+]]:_(p4) = G_IMPLICIT_DEF590    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[DEF]](p4)591    %0:_(p4) = G_IMPLICIT_DEF592    $vgpr0_vgpr1 = COPY %0593...594 595---596name: test_implicit_def_p5597body: |598  bb.0:599 600    ; CHECK-LABEL: name: test_implicit_def_p5601    ; CHECK: [[DEF:%[0-9]+]]:_(p5) = G_IMPLICIT_DEF602    ; CHECK-NEXT: $vgpr0 = COPY [[DEF]](p5)603    %0:_(p5) = G_IMPLICIT_DEF604    $vgpr0 = COPY %0605...606 607---608name: test_implicit_def_p999609body: |610  bb.0:611 612    ; CHECK-LABEL: name: test_implicit_def_p999613    ; CHECK: [[DEF:%[0-9]+]]:_(p999) = G_IMPLICIT_DEF614    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[DEF]](p999)615    %0:_(p999) = G_IMPLICIT_DEF616    $vgpr0_vgpr1 = COPY %0617 618...619 620---621name: test_implicit_def_v2s1024622body: |623  bb.0:624 625    ; CHECK-LABEL: name: test_implicit_def_v2s1024626    ; CHECK: [[DEF:%[0-9]+]]:_(<2 x s1024>) = G_IMPLICIT_DEF627    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s1024), [[UV1:%[0-9]+]]:_(s1024) = G_UNMERGE_VALUES [[DEF]](<2 x s1024>)628    ; CHECK-NEXT: S_ENDPGM 0, implicit [[UV]](s1024), implicit [[UV1]](s1024)629    %0:_(<2 x s1024>) = G_IMPLICIT_DEF630    %1:_(s1024), %2:_(s1024) = G_UNMERGE_VALUES %0631    S_ENDPGM 0, implicit %1, implicit %2632...633 634---635 636name: test_implicit_def_v3s1024637body: |638  bb.0:639 640    ; CHECK-LABEL: name: test_implicit_def_v3s1024641    ; CHECK: [[DEF:%[0-9]+]]:_(<3 x s1024>) = G_IMPLICIT_DEF642    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s1024), [[UV1:%[0-9]+]]:_(s1024), [[UV2:%[0-9]+]]:_(s1024) = G_UNMERGE_VALUES [[DEF]](<3 x s1024>)643    ; CHECK-NEXT: S_ENDPGM 0, implicit [[UV]](s1024), implicit [[UV1]](s1024), implicit [[UV2]](s1024)644    %0:_(<3 x s1024>) = G_IMPLICIT_DEF645    %1:_(s1024), %2:_(s1024), %3:_(s1024) = G_UNMERGE_VALUES %0646    S_ENDPGM 0, implicit %1, implicit %2, implicit %3647...648