188 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx908 -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx908 -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-greedy | FileCheck %s4 5---6name: insert_lo32_i64_ss7legalized: true8 9body: |10 bb.0:11 liveins: $sgpr0_sgpr1, $sgpr212 ; CHECK-LABEL: name: insert_lo32_i64_ss13 ; CHECK: liveins: $sgpr0_sgpr1, $sgpr214 ; CHECK-NEXT: {{ $}}15 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr116 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr217 ; CHECK-NEXT: [[INSERT:%[0-9]+]]:sgpr(s64) = G_INSERT [[COPY]], [[COPY1]](s32), 018 %0:_(s64) = COPY $sgpr0_sgpr119 %1:_(s32) = COPY $sgpr220 %2:_(s64) = G_INSERT %0, %1, 021...22 23---24name: insert_lo32_i64_sv25legalized: true26 27body: |28 bb.0:29 liveins: $sgpr0_sgpr1, $vgpr230 ; CHECK-LABEL: name: insert_lo32_i64_sv31 ; CHECK: liveins: $sgpr0_sgpr1, $vgpr232 ; CHECK-NEXT: {{ $}}33 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr134 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr235 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s64) = COPY [[COPY]](s64)36 ; CHECK-NEXT: [[INSERT:%[0-9]+]]:vgpr(s64) = G_INSERT [[COPY2]], [[COPY1]](s32), 037 %0:_(s64) = COPY $sgpr0_sgpr138 %1:_(s32) = COPY $vgpr239 %2:_(s64) = G_INSERT %0, %1, 040...41---42name: insert_lo32_i64_vs43legalized: true44 45body: |46 bb.0:47 liveins: $vgpr0_vgpr1, $sgpr248 ; CHECK-LABEL: name: insert_lo32_i64_vs49 ; CHECK: liveins: $vgpr0_vgpr1, $sgpr250 ; CHECK-NEXT: {{ $}}51 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr152 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr253 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)54 ; CHECK-NEXT: [[INSERT:%[0-9]+]]:vgpr(s64) = G_INSERT [[COPY]], [[COPY2]](s32), 055 %0:_(s64) = COPY $vgpr0_vgpr156 %1:_(s32) = COPY $sgpr257 %2:_(s64) = G_INSERT %0, %1, 058...59---60name: insert_lo32_i64_vv61legalized: true62 63body: |64 bb.0:65 liveins: $vgpr0_vgpr1, $vgpr266 ; CHECK-LABEL: name: insert_lo32_i64_vv67 ; CHECK: liveins: $vgpr0_vgpr1, $vgpr268 ; CHECK-NEXT: {{ $}}69 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr170 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr271 ; CHECK-NEXT: [[INSERT:%[0-9]+]]:sgpr(s64) = G_INSERT [[COPY]], [[COPY1]](s32), 072 %0:_(s64) = COPY $sgpr0_sgpr173 %1:_(s32) = COPY $sgpr274 %2:_(s64) = G_INSERT %0, %1, 075...76 77---78name: insert_lo32_i96_v79legalized: true80 81body: |82 bb.0:83 liveins: $vgpr0_vgpr1_vgpr2, $vgpr384 ; CHECK-LABEL: name: insert_lo32_i96_v85 ; CHECK: liveins: $vgpr0_vgpr1_vgpr2, $vgpr386 ; CHECK-NEXT: {{ $}}87 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s96) = COPY $vgpr0_vgpr1_vgpr288 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr389 ; CHECK-NEXT: [[INSERT:%[0-9]+]]:vgpr(s96) = G_INSERT [[COPY]], [[COPY1]](s32), 090 %0:_(s96) = COPY $vgpr0_vgpr1_vgpr291 %1:_(s32) = COPY $vgpr392 %2:_(s96) = G_INSERT %0, %1, 093...94 95---96name: insert_lo32_i64_aa97legalized: true98 99body: |100 bb.0:101 liveins: $agpr0_agpr1, $agpr2102 ; CHECK-LABEL: name: insert_lo32_i64_aa103 ; CHECK: liveins: $agpr0_agpr1, $agpr2104 ; CHECK-NEXT: {{ $}}105 ; CHECK-NEXT: [[COPY:%[0-9]+]]:agpr(s64) = COPY $agpr0_agpr1106 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:agpr(s32) = COPY $agpr2107 ; CHECK-NEXT: [[INSERT:%[0-9]+]]:agpr(s64) = G_INSERT [[COPY]], [[COPY1]](s32), 0108 %0:_(s64) = COPY $agpr0_agpr1109 %1:_(s32) = COPY $agpr2110 %2:_(s64) = G_INSERT %0, %1, 0111...112 113---114name: insert_lo32_i64_av115legalized: true116 117body: |118 bb.0:119 liveins: $agpr0_agpr1, $vgpr2120 ; CHECK-LABEL: name: insert_lo32_i64_av121 ; CHECK: liveins: $agpr0_agpr1, $vgpr2122 ; CHECK-NEXT: {{ $}}123 ; CHECK-NEXT: [[COPY:%[0-9]+]]:agpr(s64) = COPY $agpr0_agpr1124 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr2125 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s64) = COPY [[COPY]](s64)126 ; CHECK-NEXT: [[INSERT:%[0-9]+]]:vgpr(s64) = G_INSERT [[COPY2]], [[COPY1]](s32), 0127 %0:_(s64) = COPY $agpr0_agpr1128 %1:_(s32) = COPY $vgpr2129 %2:_(s64) = G_INSERT %0, %1, 0130...131---132name: insert_lo32_i64_va133legalized: true134 135body: |136 bb.0:137 liveins: $vgpr0_vgpr1, $agpr2138 ; CHECK-LABEL: name: insert_lo32_i64_va139 ; CHECK: liveins: $vgpr0_vgpr1, $agpr2140 ; CHECK-NEXT: {{ $}}141 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1142 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:agpr(s32) = COPY $agpr2143 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)144 ; CHECK-NEXT: [[INSERT:%[0-9]+]]:vgpr(s64) = G_INSERT [[COPY]], [[COPY2]](s32), 0145 %0:_(s64) = COPY $vgpr0_vgpr1146 %1:_(s32) = COPY $agpr2147 %2:_(s64) = G_INSERT %0, %1, 0148...149 150---151name: insert_lo32_i64_as152legalized: true153 154body: |155 bb.0:156 liveins: $agpr0_agpr1, $sgpr2157 ; CHECK-LABEL: name: insert_lo32_i64_as158 ; CHECK: liveins: $agpr0_agpr1, $sgpr2159 ; CHECK-NEXT: {{ $}}160 ; CHECK-NEXT: [[COPY:%[0-9]+]]:agpr(s64) = COPY $agpr0_agpr1161 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr2162 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s64) = COPY [[COPY]](s64)163 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)164 ; CHECK-NEXT: [[INSERT:%[0-9]+]]:vgpr(s64) = G_INSERT [[COPY2]], [[COPY3]](s32), 0165 %0:_(s64) = COPY $agpr0_agpr1166 %1:_(s32) = COPY $sgpr2167 %2:_(s64) = G_INSERT %0, %1, 0168...169---170name: insert_lo32_i64_sa171legalized: true172 173body: |174 bb.0:175 liveins: $sgpr0_sgpr1, $agpr2176 ; CHECK-LABEL: name: insert_lo32_i64_sa177 ; CHECK: liveins: $sgpr0_sgpr1, $agpr2178 ; CHECK-NEXT: {{ $}}179 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1180 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:agpr(s32) = COPY $agpr2181 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s64) = COPY [[COPY]](s64)182 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)183 ; CHECK-NEXT: [[INSERT:%[0-9]+]]:vgpr(s64) = G_INSERT [[COPY2]], [[COPY3]](s32), 0184 %0:_(s64) = COPY $sgpr0_sgpr1185 %1:_(s32) = COPY $agpr2186 %2:_(s64) = G_INSERT %0, %1, 0187...188