184 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx908 -run-pass=regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx908 -run-pass=regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck %s4 5---6name: concat_vectors_v4s16_ss7legalized: true8 9body: |10 bb.0:11 liveins: $sgpr0, $sgpr112 ; CHECK-LABEL: name: concat_vectors_v4s16_ss13 ; CHECK: liveins: $sgpr0, $sgpr114 ; CHECK-NEXT: {{ $}}15 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(<2 x s16>) = COPY $sgpr016 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(<2 x s16>) = COPY $sgpr117 ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:sgpr(<4 x s16>) = G_CONCAT_VECTORS [[COPY]](<2 x s16>), [[COPY1]](<2 x s16>)18 %0:_(<2 x s16>) = COPY $sgpr019 %1:_(<2 x s16>) = COPY $sgpr120 %2:_(<4 x s16>) = G_CONCAT_VECTORS %0, %121...22 23---24name: concat_vectors_v4s16_sv25legalized: true26 27body: |28 bb.0:29 liveins: $sgpr0, $vgpr030 ; CHECK-LABEL: name: concat_vectors_v4s16_sv31 ; CHECK: liveins: $sgpr0, $vgpr032 ; CHECK-NEXT: {{ $}}33 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(<2 x s16>) = COPY $sgpr034 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(<2 x s16>) = COPY $vgpr035 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(<2 x s16>) = COPY [[COPY]](<2 x s16>)36 ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:vgpr(<4 x s16>) = G_CONCAT_VECTORS [[COPY2]](<2 x s16>), [[COPY1]](<2 x s16>)37 %0:_(<2 x s16>) = COPY $sgpr038 %1:_(<2 x s16>) = COPY $vgpr039 %2:_(<4 x s16>) = G_CONCAT_VECTORS %0, %140...41 42---43name: concat_vectors_v4s16_vs44legalized: true45 46body: |47 bb.0:48 liveins: $vgpr0, $sgpr049 ; CHECK-LABEL: name: concat_vectors_v4s16_vs50 ; CHECK: liveins: $vgpr0, $sgpr051 ; CHECK-NEXT: {{ $}}52 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<2 x s16>) = COPY $vgpr053 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(<2 x s16>) = COPY $sgpr054 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(<2 x s16>) = COPY [[COPY1]](<2 x s16>)55 ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:vgpr(<4 x s16>) = G_CONCAT_VECTORS [[COPY]](<2 x s16>), [[COPY2]](<2 x s16>)56 %0:_(<2 x s16>) = COPY $vgpr057 %1:_(<2 x s16>) = COPY $sgpr058 %2:_(<4 x s16>) = G_CONCAT_VECTORS %0, %159...60 61---62name: concat_vectors_v4s16_vv63legalized: true64 65body: |66 bb.0:67 liveins: $vgpr0, $vgpr168 ; CHECK-LABEL: name: concat_vectors_v4s16_vv69 ; CHECK: liveins: $vgpr0, $vgpr170 ; CHECK-NEXT: {{ $}}71 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<2 x s16>) = COPY $vgpr072 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(<2 x s16>) = COPY $vgpr173 ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:vgpr(<4 x s16>) = G_CONCAT_VECTORS [[COPY]](<2 x s16>), [[COPY1]](<2 x s16>)74 %0:_(<2 x s16>) = COPY $vgpr075 %1:_(<2 x s16>) = COPY $vgpr176 %2:_(<4 x s16>) = G_CONCAT_VECTORS %0, %177...78 79---80name: concat_vectors_v4s16_aa81legalized: true82 83body: |84 bb.0:85 liveins: $agpr0, $agpr186 ; CHECK-LABEL: name: concat_vectors_v4s16_aa87 ; CHECK: liveins: $agpr0, $agpr188 ; CHECK-NEXT: {{ $}}89 ; CHECK-NEXT: [[COPY:%[0-9]+]]:agpr(<2 x s16>) = COPY $agpr090 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:agpr(<2 x s16>) = COPY $agpr191 ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:agpr(<4 x s16>) = G_CONCAT_VECTORS [[COPY]](<2 x s16>), [[COPY1]](<2 x s16>)92 ; CHECK-NEXT: S_ENDPGM 0, implicit [[CONCAT_VECTORS]](<4 x s16>)93 %0:_(<2 x s16>) = COPY $agpr094 %1:_(<2 x s16>) = COPY $agpr195 %2:_(<4 x s16>) = G_CONCAT_VECTORS %0, %196 S_ENDPGM 0, implicit %297...98 99---100name: concat_vectors_v4s16_av101legalized: true102 103body: |104 bb.0:105 liveins: $agpr0, $vgpr0106 ; CHECK-LABEL: name: concat_vectors_v4s16_av107 ; CHECK: liveins: $agpr0, $vgpr0108 ; CHECK-NEXT: {{ $}}109 ; CHECK-NEXT: [[COPY:%[0-9]+]]:agpr(<2 x s16>) = COPY $agpr0110 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(<2 x s16>) = COPY $vgpr0111 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(<2 x s16>) = COPY [[COPY]](<2 x s16>)112 ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:vgpr(<4 x s16>) = G_CONCAT_VECTORS [[COPY2]](<2 x s16>), [[COPY1]](<2 x s16>)113 ; CHECK-NEXT: S_ENDPGM 0, implicit [[CONCAT_VECTORS]](<4 x s16>)114 %0:_(<2 x s16>) = COPY $agpr0115 %1:_(<2 x s16>) = COPY $vgpr0116 %2:_(<4 x s16>) = G_CONCAT_VECTORS %0, %1117 S_ENDPGM 0, implicit %2118...119 120---121name: concat_vectors_v4s16_va122legalized: true123 124body: |125 bb.0:126 liveins: $agpr0, $vgpr0127 ; CHECK-LABEL: name: concat_vectors_v4s16_va128 ; CHECK: liveins: $agpr0, $vgpr0129 ; CHECK-NEXT: {{ $}}130 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(<2 x s16>) = COPY $vgpr0131 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:agpr(<2 x s16>) = COPY $agpr0132 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(<2 x s16>) = COPY [[COPY1]](<2 x s16>)133 ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:vgpr(<4 x s16>) = G_CONCAT_VECTORS [[COPY]](<2 x s16>), [[COPY2]](<2 x s16>)134 ; CHECK-NEXT: S_ENDPGM 0, implicit [[CONCAT_VECTORS]](<4 x s16>)135 %0:_(<2 x s16>) = COPY $vgpr0136 %1:_(<2 x s16>) = COPY $agpr0137 %2:_(<4 x s16>) = G_CONCAT_VECTORS %0, %1138 S_ENDPGM 0, implicit %2139...140 141---142name: concat_vectors_v4s16_as143legalized: true144 145body: |146 bb.0:147 liveins: $agpr0, $sgpr0148 ; CHECK-LABEL: name: concat_vectors_v4s16_as149 ; CHECK: liveins: $agpr0, $sgpr0150 ; CHECK-NEXT: {{ $}}151 ; CHECK-NEXT: [[COPY:%[0-9]+]]:agpr(<2 x s16>) = COPY $agpr0152 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(<2 x s16>) = COPY $sgpr0153 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(<2 x s16>) = COPY [[COPY]](<2 x s16>)154 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(<2 x s16>) = COPY [[COPY1]](<2 x s16>)155 ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:vgpr(<4 x s16>) = G_CONCAT_VECTORS [[COPY2]](<2 x s16>), [[COPY3]](<2 x s16>)156 ; CHECK-NEXT: S_ENDPGM 0, implicit [[CONCAT_VECTORS]](<4 x s16>)157 %0:_(<2 x s16>) = COPY $agpr0158 %1:_(<2 x s16>) = COPY $sgpr0159 %2:_(<4 x s16>) = G_CONCAT_VECTORS %0, %1160 S_ENDPGM 0, implicit %2161...162 163---164name: concat_vectors_v4s16_sa165legalized: true166 167body: |168 bb.0:169 liveins: $agpr0, $sgpr0170 ; CHECK-LABEL: name: concat_vectors_v4s16_sa171 ; CHECK: liveins: $agpr0, $sgpr0172 ; CHECK-NEXT: {{ $}}173 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(<2 x s16>) = COPY $sgpr0174 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:agpr(<2 x s16>) = COPY $agpr0175 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(<2 x s16>) = COPY [[COPY]](<2 x s16>)176 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(<2 x s16>) = COPY [[COPY1]](<2 x s16>)177 ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:vgpr(<4 x s16>) = G_CONCAT_VECTORS [[COPY2]](<2 x s16>), [[COPY3]](<2 x s16>)178 ; CHECK-NEXT: S_ENDPGM 0, implicit [[CONCAT_VECTORS]](<4 x s16>)179 %0:_(<2 x s16>) = COPY $sgpr0180 %1:_(<2 x s16>) = COPY $agpr0181 %2:_(<4 x s16>) = G_CONCAT_VECTORS %0, %1182 S_ENDPGM 0, implicit %2183...184