405 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -mattr=+m,+v -run-pass=regbankselect \3# RUN: -simplify-mir -verify-machineinstrs %s \4# RUN: -o - | FileCheck %s5# RUN: llc -mtriple=riscv64 -mattr=+m,+v -run-pass=regbankselect \6# RUN: -simplify-mir -verify-machineinstrs %s \7# RUN: -o - | FileCheck %s8 9---10name: select_nxv1i811legalized: true12tracksRegLiveness: true13body: |14 bb.0.entry:15 ; CHECK-LABEL: name: select_nxv1i816 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 1 x s1>) = G_IMPLICIT_DEF17 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 1 x s8>) = G_IMPLICIT_DEF18 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 1 x s8>) = G_SELECT [[DEF]](<vscale x 1 x s1>), [[DEF1]], [[DEF1]]19 ; CHECK-NEXT: $v8 = COPY [[SELECT]](<vscale x 1 x s8>)20 ; CHECK-NEXT: PseudoRET implicit $v821 %1:_(<vscale x 1 x s1>) = G_IMPLICIT_DEF22 %2:_(<vscale x 1 x s8>) = G_IMPLICIT_DEF23 %0:_(<vscale x 1 x s8>) = G_SELECT %1(<vscale x 1 x s1>), %2(<vscale x 1 x s8>), %2(<vscale x 1 x s8>)24 $v8 = COPY %0(<vscale x 1 x s8>)25 PseudoRET implicit $v826...27---28name: select_nxv2i829legalized: true30tracksRegLiveness: true31body: |32 bb.0.entry:33 ; CHECK-LABEL: name: select_nxv2i834 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 2 x s1>) = G_IMPLICIT_DEF35 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 2 x s8>) = G_IMPLICIT_DEF36 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 2 x s8>) = G_SELECT [[DEF]](<vscale x 2 x s1>), [[DEF1]], [[DEF1]]37 ; CHECK-NEXT: $v8 = COPY [[SELECT]](<vscale x 2 x s8>)38 ; CHECK-NEXT: PseudoRET implicit $v839 %1:_(<vscale x 2 x s1>) = G_IMPLICIT_DEF40 %2:_(<vscale x 2 x s8>) = G_IMPLICIT_DEF41 %0:_(<vscale x 2 x s8>) = G_SELECT %1(<vscale x 2 x s1>), %2(<vscale x 2 x s8>), %2(<vscale x 2 x s8>)42 $v8 = COPY %0(<vscale x 2 x s8>)43 PseudoRET implicit $v844...45---46name: select_nxv4i847legalized: true48tracksRegLiveness: true49body: |50 bb.0.entry:51 ; CHECK-LABEL: name: select_nxv4i852 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 4 x s1>) = G_IMPLICIT_DEF53 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 4 x s8>) = G_IMPLICIT_DEF54 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 4 x s8>) = G_SELECT [[DEF]](<vscale x 4 x s1>), [[DEF1]], [[DEF1]]55 ; CHECK-NEXT: $v8 = COPY [[SELECT]](<vscale x 4 x s8>)56 ; CHECK-NEXT: PseudoRET implicit $v857 %1:_(<vscale x 4 x s1>) = G_IMPLICIT_DEF58 %2:_(<vscale x 4 x s8>) = G_IMPLICIT_DEF59 %0:_(<vscale x 4 x s8>) = G_SELECT %1(<vscale x 4 x s1>), %2(<vscale x 4 x s8>), %2(<vscale x 4 x s8>)60 $v8 = COPY %0(<vscale x 4 x s8>)61 PseudoRET implicit $v862...63---64name: select_nxv8i865legalized: true66tracksRegLiveness: true67body: |68 bb.0.entry:69 ; CHECK-LABEL: name: select_nxv8i870 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 8 x s1>) = G_IMPLICIT_DEF71 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 8 x s8>) = G_IMPLICIT_DEF72 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 8 x s8>) = G_SELECT [[DEF]](<vscale x 8 x s1>), [[DEF1]], [[DEF1]]73 ; CHECK-NEXT: $v8 = COPY [[SELECT]](<vscale x 8 x s8>)74 ; CHECK-NEXT: PseudoRET implicit $v875 %1:_(<vscale x 8 x s1>) = G_IMPLICIT_DEF76 %2:_(<vscale x 8 x s8>) = G_IMPLICIT_DEF77 %0:_(<vscale x 8 x s8>) = G_SELECT %1(<vscale x 8 x s1>), %2(<vscale x 8 x s8>), %2(<vscale x 8 x s8>)78 $v8 = COPY %0(<vscale x 8 x s8>)79 PseudoRET implicit $v880...81---82name: select_nxv16i883legalized: true84tracksRegLiveness: true85body: |86 bb.0.entry:87 ; CHECK-LABEL: name: select_nxv16i888 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 16 x s1>) = G_IMPLICIT_DEF89 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 16 x s8>) = G_IMPLICIT_DEF90 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 16 x s8>) = G_SELECT [[DEF]](<vscale x 16 x s1>), [[DEF1]], [[DEF1]]91 ; CHECK-NEXT: $v8m2 = COPY [[SELECT]](<vscale x 16 x s8>)92 ; CHECK-NEXT: PseudoRET implicit $v8m293 %1:_(<vscale x 16 x s1>) = G_IMPLICIT_DEF94 %2:_(<vscale x 16 x s8>) = G_IMPLICIT_DEF95 %0:_(<vscale x 16 x s8>) = G_SELECT %1(<vscale x 16 x s1>), %2(<vscale x 16 x s8>), %2(<vscale x 16 x s8>)96 $v8m2 = COPY %0(<vscale x 16 x s8>)97 PseudoRET implicit $v8m298...99---100name: select_nxv32i8101legalized: true102tracksRegLiveness: true103body: |104 bb.0.entry:105 ; CHECK-LABEL: name: select_nxv32i8106 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 32 x s1>) = G_IMPLICIT_DEF107 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 32 x s8>) = G_IMPLICIT_DEF108 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 32 x s8>) = G_SELECT [[DEF]](<vscale x 32 x s1>), [[DEF1]], [[DEF1]]109 ; CHECK-NEXT: $v8m4 = COPY [[SELECT]](<vscale x 32 x s8>)110 ; CHECK-NEXT: PseudoRET implicit $v8m4111 %1:_(<vscale x 32 x s1>) = G_IMPLICIT_DEF112 %2:_(<vscale x 32 x s8>) = G_IMPLICIT_DEF113 %0:_(<vscale x 32 x s8>) = G_SELECT %1(<vscale x 32 x s1>), %2(<vscale x 32 x s8>), %2(<vscale x 32 x s8>)114 $v8m4 = COPY %0(<vscale x 32 x s8>)115 PseudoRET implicit $v8m4116...117---118name: select_nxv64i8119legalized: true120tracksRegLiveness: true121body: |122 bb.0.entry:123 ; CHECK-LABEL: name: select_nxv64i8124 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 64 x s1>) = G_IMPLICIT_DEF125 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 64 x s8>) = G_IMPLICIT_DEF126 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 64 x s8>) = G_SELECT [[DEF]](<vscale x 64 x s1>), [[DEF1]], [[DEF1]]127 ; CHECK-NEXT: $v8m8 = COPY [[SELECT]](<vscale x 64 x s8>)128 ; CHECK-NEXT: PseudoRET implicit $v8m8129 %1:_(<vscale x 64 x s1>) = G_IMPLICIT_DEF130 %2:_(<vscale x 64 x s8>) = G_IMPLICIT_DEF131 %0:_(<vscale x 64 x s8>) = G_SELECT %1(<vscale x 64 x s1>), %2(<vscale x 64 x s8>), %2(<vscale x 64 x s8>)132 $v8m8 = COPY %0(<vscale x 64 x s8>)133 PseudoRET implicit $v8m8134...135---136name: select_nxv1i16137legalized: true138tracksRegLiveness: true139body: |140 bb.0.entry:141 ; CHECK-LABEL: name: select_nxv1i16142 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 1 x s1>) = G_IMPLICIT_DEF143 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 1 x s16>) = G_IMPLICIT_DEF144 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 1 x s16>) = G_SELECT [[DEF]](<vscale x 1 x s1>), [[DEF1]], [[DEF1]]145 ; CHECK-NEXT: $v8 = COPY [[SELECT]](<vscale x 1 x s16>)146 ; CHECK-NEXT: PseudoRET implicit $v8147 %1:_(<vscale x 1 x s1>) = G_IMPLICIT_DEF148 %2:_(<vscale x 1 x s16>) = G_IMPLICIT_DEF149 %0:_(<vscale x 1 x s16>) = G_SELECT %1(<vscale x 1 x s1>), %2(<vscale x 1 x s16>), %2(<vscale x 1 x s16>)150 $v8 = COPY %0(<vscale x 1 x s16>)151 PseudoRET implicit $v8152...153---154name: select_nxv2i16155legalized: true156tracksRegLiveness: true157body: |158 bb.0.entry:159 ; CHECK-LABEL: name: select_nxv2i16160 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 2 x s1>) = G_IMPLICIT_DEF161 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 2 x s16>) = G_IMPLICIT_DEF162 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 2 x s16>) = G_SELECT [[DEF]](<vscale x 2 x s1>), [[DEF1]], [[DEF1]]163 ; CHECK-NEXT: $v8 = COPY [[SELECT]](<vscale x 2 x s16>)164 ; CHECK-NEXT: PseudoRET implicit $v8165 %1:_(<vscale x 2 x s1>) = G_IMPLICIT_DEF166 %2:_(<vscale x 2 x s16>) = G_IMPLICIT_DEF167 %0:_(<vscale x 2 x s16>) = G_SELECT %1(<vscale x 2 x s1>), %2(<vscale x 2 x s16>), %2(<vscale x 2 x s16>)168 $v8 = COPY %0(<vscale x 2 x s16>)169 PseudoRET implicit $v8170...171---172name: select_nxv4i16173legalized: true174tracksRegLiveness: true175body: |176 bb.0.entry:177 ; CHECK-LABEL: name: select_nxv4i16178 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 4 x s1>) = G_IMPLICIT_DEF179 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 4 x s16>) = G_IMPLICIT_DEF180 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 4 x s16>) = G_SELECT [[DEF]](<vscale x 4 x s1>), [[DEF1]], [[DEF1]]181 ; CHECK-NEXT: $v8 = COPY [[SELECT]](<vscale x 4 x s16>)182 ; CHECK-NEXT: PseudoRET implicit $v8183 %1:_(<vscale x 4 x s1>) = G_IMPLICIT_DEF184 %2:_(<vscale x 4 x s16>) = G_IMPLICIT_DEF185 %0:_(<vscale x 4 x s16>) = G_SELECT %1(<vscale x 4 x s1>), %2(<vscale x 4 x s16>), %2(<vscale x 4 x s16>)186 $v8 = COPY %0(<vscale x 4 x s16>)187 PseudoRET implicit $v8188...189---190name: select_nxv8i16191legalized: true192tracksRegLiveness: true193body: |194 bb.0.entry:195 ; CHECK-LABEL: name: select_nxv8i16196 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 8 x s1>) = G_IMPLICIT_DEF197 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 8 x s16>) = G_IMPLICIT_DEF198 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 8 x s16>) = G_SELECT [[DEF]](<vscale x 8 x s1>), [[DEF1]], [[DEF1]]199 ; CHECK-NEXT: $v8m2 = COPY [[SELECT]](<vscale x 8 x s16>)200 ; CHECK-NEXT: PseudoRET implicit $v8m2201 %1:_(<vscale x 8 x s1>) = G_IMPLICIT_DEF202 %2:_(<vscale x 8 x s16>) = G_IMPLICIT_DEF203 %0:_(<vscale x 8 x s16>) = G_SELECT %1(<vscale x 8 x s1>), %2(<vscale x 8 x s16>), %2(<vscale x 8 x s16>)204 $v8m2 = COPY %0(<vscale x 8 x s16>)205 PseudoRET implicit $v8m2206...207---208name: select_nxv16i16209legalized: true210tracksRegLiveness: true211body: |212 bb.0.entry:213 ; CHECK-LABEL: name: select_nxv16i16214 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 16 x s1>) = G_IMPLICIT_DEF215 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 16 x s16>) = G_IMPLICIT_DEF216 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 16 x s16>) = G_SELECT [[DEF]](<vscale x 16 x s1>), [[DEF1]], [[DEF1]]217 ; CHECK-NEXT: $v8m4 = COPY [[SELECT]](<vscale x 16 x s16>)218 ; CHECK-NEXT: PseudoRET implicit $v8m4219 %1:_(<vscale x 16 x s1>) = G_IMPLICIT_DEF220 %2:_(<vscale x 16 x s16>) = G_IMPLICIT_DEF221 %0:_(<vscale x 16 x s16>) = G_SELECT %1(<vscale x 16 x s1>), %2(<vscale x 16 x s16>), %2(<vscale x 16 x s16>)222 $v8m4 = COPY %0(<vscale x 16 x s16>)223 PseudoRET implicit $v8m4224...225---226name: select_nxv32i16227legalized: true228tracksRegLiveness: true229body: |230 bb.0.entry:231 ; CHECK-LABEL: name: select_nxv32i16232 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 32 x s1>) = G_IMPLICIT_DEF233 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 32 x s16>) = G_IMPLICIT_DEF234 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 32 x s16>) = G_SELECT [[DEF]](<vscale x 32 x s1>), [[DEF1]], [[DEF1]]235 ; CHECK-NEXT: $v8m8 = COPY [[SELECT]](<vscale x 32 x s16>)236 ; CHECK-NEXT: PseudoRET implicit $v8m8237 %1:_(<vscale x 32 x s1>) = G_IMPLICIT_DEF238 %2:_(<vscale x 32 x s16>) = G_IMPLICIT_DEF239 %0:_(<vscale x 32 x s16>) = G_SELECT %1(<vscale x 32 x s1>), %2(<vscale x 32 x s16>), %2(<vscale x 32 x s16>)240 $v8m8 = COPY %0(<vscale x 32 x s16>)241 PseudoRET implicit $v8m8242...243---244name: select_nxv1i32245legalized: true246tracksRegLiveness: true247body: |248 bb.0.entry:249 ; CHECK-LABEL: name: select_nxv1i32250 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 1 x s1>) = G_IMPLICIT_DEF251 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 1 x s32>) = G_IMPLICIT_DEF252 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 1 x s32>) = G_SELECT [[DEF]](<vscale x 1 x s1>), [[DEF1]], [[DEF1]]253 ; CHECK-NEXT: $v8 = COPY [[SELECT]](<vscale x 1 x s32>)254 ; CHECK-NEXT: PseudoRET implicit $v8255 %1:_(<vscale x 1 x s1>) = G_IMPLICIT_DEF256 %2:_(<vscale x 1 x s32>) = G_IMPLICIT_DEF257 %0:_(<vscale x 1 x s32>) = G_SELECT %1(<vscale x 1 x s1>), %2(<vscale x 1 x s32>), %2(<vscale x 1 x s32>)258 $v8 = COPY %0(<vscale x 1 x s32>)259 PseudoRET implicit $v8260...261---262name: select_nxv2i32263legalized: true264tracksRegLiveness: true265body: |266 bb.0.entry:267 ; CHECK-LABEL: name: select_nxv2i32268 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 2 x s1>) = G_IMPLICIT_DEF269 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 2 x s32>) = G_IMPLICIT_DEF270 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 2 x s32>) = G_SELECT [[DEF]](<vscale x 2 x s1>), [[DEF1]], [[DEF1]]271 ; CHECK-NEXT: $v8 = COPY [[SELECT]](<vscale x 2 x s32>)272 ; CHECK-NEXT: PseudoRET implicit $v8273 %1:_(<vscale x 2 x s1>) = G_IMPLICIT_DEF274 %2:_(<vscale x 2 x s32>) = G_IMPLICIT_DEF275 %0:_(<vscale x 2 x s32>) = G_SELECT %1(<vscale x 2 x s1>), %2(<vscale x 2 x s32>), %2(<vscale x 2 x s32>)276 $v8 = COPY %0(<vscale x 2 x s32>)277 PseudoRET implicit $v8278...279---280name: select_nxv4i32281legalized: true282tracksRegLiveness: true283body: |284 bb.0.entry:285 ; CHECK-LABEL: name: select_nxv4i32286 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 4 x s1>) = G_IMPLICIT_DEF287 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 4 x s32>) = G_IMPLICIT_DEF288 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 4 x s32>) = G_SELECT [[DEF]](<vscale x 4 x s1>), [[DEF1]], [[DEF1]]289 ; CHECK-NEXT: $v8m2 = COPY [[SELECT]](<vscale x 4 x s32>)290 ; CHECK-NEXT: PseudoRET implicit $v8m2291 %1:_(<vscale x 4 x s1>) = G_IMPLICIT_DEF292 %2:_(<vscale x 4 x s32>) = G_IMPLICIT_DEF293 %0:_(<vscale x 4 x s32>) = G_SELECT %1(<vscale x 4 x s1>), %2(<vscale x 4 x s32>), %2(<vscale x 4 x s32>)294 $v8m2 = COPY %0(<vscale x 4 x s32>)295 PseudoRET implicit $v8m2296...297---298name: select_nxv8i32299legalized: true300tracksRegLiveness: true301body: |302 bb.0.entry:303 ; CHECK-LABEL: name: select_nxv8i32304 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 8 x s1>) = G_IMPLICIT_DEF305 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 8 x s32>) = G_IMPLICIT_DEF306 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 8 x s32>) = G_SELECT [[DEF]](<vscale x 8 x s1>), [[DEF1]], [[DEF1]]307 ; CHECK-NEXT: $v8m4 = COPY [[SELECT]](<vscale x 8 x s32>)308 ; CHECK-NEXT: PseudoRET implicit $v8m4309 %1:_(<vscale x 8 x s1>) = G_IMPLICIT_DEF310 %2:_(<vscale x 8 x s32>) = G_IMPLICIT_DEF311 %0:_(<vscale x 8 x s32>) = G_SELECT %1(<vscale x 8 x s1>), %2(<vscale x 8 x s32>), %2(<vscale x 8 x s32>)312 $v8m4 = COPY %0(<vscale x 8 x s32>)313 PseudoRET implicit $v8m4314...315---316name: select_nxv16i32317legalized: true318tracksRegLiveness: true319body: |320 bb.0.entry:321 ; CHECK-LABEL: name: select_nxv16i32322 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 16 x s1>) = G_IMPLICIT_DEF323 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 16 x s32>) = G_IMPLICIT_DEF324 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 16 x s32>) = G_SELECT [[DEF]](<vscale x 16 x s1>), [[DEF1]], [[DEF1]]325 ; CHECK-NEXT: $v8m8 = COPY [[SELECT]](<vscale x 16 x s32>)326 ; CHECK-NEXT: PseudoRET implicit $v8m8327 %1:_(<vscale x 16 x s1>) = G_IMPLICIT_DEF328 %2:_(<vscale x 16 x s32>) = G_IMPLICIT_DEF329 %0:_(<vscale x 16 x s32>) = G_SELECT %1(<vscale x 16 x s1>), %2(<vscale x 16 x s32>), %2(<vscale x 16 x s32>)330 $v8m8 = COPY %0(<vscale x 16 x s32>)331 PseudoRET implicit $v8m8332...333---334name: select_nxv1i64335legalized: true336tracksRegLiveness: true337body: |338 bb.0.entry:339 ; CHECK-LABEL: name: select_nxv1i64340 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 1 x s1>) = G_IMPLICIT_DEF341 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 1 x s64>) = G_IMPLICIT_DEF342 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 1 x s64>) = G_SELECT [[DEF]](<vscale x 1 x s1>), [[DEF1]], [[DEF1]]343 ; CHECK-NEXT: $v8 = COPY [[SELECT]](<vscale x 1 x s64>)344 ; CHECK-NEXT: PseudoRET implicit $v8345 %1:_(<vscale x 1 x s1>) = G_IMPLICIT_DEF346 %2:_(<vscale x 1 x s64>) = G_IMPLICIT_DEF347 %0:_(<vscale x 1 x s64>) = G_SELECT %1(<vscale x 1 x s1>), %2(<vscale x 1 x s64>), %2(<vscale x 1 x s64>)348 $v8 = COPY %0(<vscale x 1 x s64>)349 PseudoRET implicit $v8350...351---352name: select_nxv2i64353legalized: true354tracksRegLiveness: true355body: |356 bb.0.entry:357 ; CHECK-LABEL: name: select_nxv2i64358 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 2 x s1>) = G_IMPLICIT_DEF359 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 2 x s64>) = G_IMPLICIT_DEF360 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 2 x s64>) = G_SELECT [[DEF]](<vscale x 2 x s1>), [[DEF1]], [[DEF1]]361 ; CHECK-NEXT: $v8m2 = COPY [[SELECT]](<vscale x 2 x s64>)362 ; CHECK-NEXT: PseudoRET implicit $v8m2363 %1:_(<vscale x 2 x s1>) = G_IMPLICIT_DEF364 %2:_(<vscale x 2 x s64>) = G_IMPLICIT_DEF365 %0:_(<vscale x 2 x s64>) = G_SELECT %1(<vscale x 2 x s1>), %2(<vscale x 2 x s64>), %2(<vscale x 2 x s64>)366 $v8m2 = COPY %0(<vscale x 2 x s64>)367 PseudoRET implicit $v8m2368...369---370name: select_nxv4i64371legalized: true372tracksRegLiveness: true373body: |374 bb.0.entry:375 ; CHECK-LABEL: name: select_nxv4i64376 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 4 x s1>) = G_IMPLICIT_DEF377 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 4 x s64>) = G_IMPLICIT_DEF378 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 4 x s64>) = G_SELECT [[DEF]](<vscale x 4 x s1>), [[DEF1]], [[DEF1]]379 ; CHECK-NEXT: $v8m4 = COPY [[SELECT]](<vscale x 4 x s64>)380 ; CHECK-NEXT: PseudoRET implicit $v8m4381 %1:_(<vscale x 4 x s1>) = G_IMPLICIT_DEF382 %2:_(<vscale x 4 x s64>) = G_IMPLICIT_DEF383 %0:_(<vscale x 4 x s64>) = G_SELECT %1(<vscale x 4 x s1>), %2(<vscale x 4 x s64>), %2(<vscale x 4 x s64>)384 $v8m4 = COPY %0(<vscale x 4 x s64>)385 PseudoRET implicit $v8m4386...387---388name: select_nxv8i64389legalized: true390tracksRegLiveness: true391body: |392 bb.0.entry:393 ; CHECK-LABEL: name: select_nxv8i64394 ; CHECK: [[DEF:%[0-9]+]]:vrb(<vscale x 8 x s1>) = G_IMPLICIT_DEF395 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vrb(<vscale x 8 x s64>) = G_IMPLICIT_DEF396 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:vrb(<vscale x 8 x s64>) = G_SELECT [[DEF]](<vscale x 8 x s1>), [[DEF1]], [[DEF1]]397 ; CHECK-NEXT: $v8m8 = COPY [[SELECT]](<vscale x 8 x s64>)398 ; CHECK-NEXT: PseudoRET implicit $v8m8399 %1:_(<vscale x 8 x s1>) = G_IMPLICIT_DEF400 %2:_(<vscale x 8 x s64>) = G_IMPLICIT_DEF401 %0:_(<vscale x 8 x s64>) = G_SELECT %1(<vscale x 8 x s1>), %2(<vscale x 8 x s64>), %2(<vscale x 8 x s64>)402 $v8m8 = COPY %0(<vscale x 8 x s64>)403 PseudoRET implicit $v8m8404...405