92 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple aarch64 -run-pass=aarch64-postlegalizer-lowering -verify-machineinstrs %s -o - | FileCheck %s3 4---5name: unmerge_dup86legalized: true7body: |8 bb.1.entry:9 ; CHECK-LABEL: name: unmerge_dup810 ; CHECK: [[COPY:%[0-9]+]]:_(<16 x s8>) = COPY $q011 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 112 ; CHECK-NEXT: [[DUPLANE8_:%[0-9]+]]:_(<8 x s8>) = G_DUPLANE8 [[COPY]], [[C]](s64)13 ; CHECK-NEXT: $d0 = COPY [[DUPLANE8_]](<8 x s8>)14 ; CHECK-NEXT: $d1 = COPY [[DUPLANE8_]](<8 x s8>)15 ; CHECK-NEXT: RET_ReallyLR implicit $x016 %0:_(<16 x s8>) = COPY $q017 %1:_(s64) = G_CONSTANT i64 118 %2:_(<16 x s8>) = G_DUPLANE8 %0, %119 %3:_(<8 x s8>), %4:_(<8 x s8>) = G_UNMERGE_VALUES %220 $d0 = COPY %321 $d1 = COPY %422 RET_ReallyLR implicit $x023 24...25---26name: unmerge_dup1627legalized: true28body: |29 bb.1.entry:30 ; CHECK-LABEL: name: unmerge_dup1631 ; CHECK: [[COPY:%[0-9]+]]:_(<8 x s16>) = COPY $q032 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 133 ; CHECK-NEXT: [[DUPLANE16_:%[0-9]+]]:_(<4 x s16>) = G_DUPLANE16 [[COPY]], [[C]](s64)34 ; CHECK-NEXT: $d0 = COPY [[DUPLANE16_]](<4 x s16>)35 ; CHECK-NEXT: $d1 = COPY [[DUPLANE16_]](<4 x s16>)36 ; CHECK-NEXT: RET_ReallyLR implicit $x037 %0:_(<8 x s16>) = COPY $q038 %1:_(s64) = G_CONSTANT i64 139 %2:_(<8 x s16>) = G_DUPLANE16 %0, %140 %3:_(<4 x s16>), %4:_(<4 x s16>) = G_UNMERGE_VALUES %241 $d0 = COPY %342 $d1 = COPY %443 RET_ReallyLR implicit $x044 45...46---47name: unmerge_dup3248legalized: true49body: |50 bb.1.entry:51 ; CHECK-LABEL: name: unmerge_dup3252 ; CHECK: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q053 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 154 ; CHECK-NEXT: [[DUPLANE32_:%[0-9]+]]:_(<2 x s32>) = G_DUPLANE32 [[COPY]], [[C]](s64)55 ; CHECK-NEXT: $d0 = COPY [[DUPLANE32_]](<2 x s32>)56 ; CHECK-NEXT: $d1 = COPY [[DUPLANE32_]](<2 x s32>)57 ; CHECK-NEXT: RET_ReallyLR implicit $x058 %0:_(<4 x s32>) = COPY $q059 %1:_(s64) = G_CONSTANT i64 160 %2:_(<4 x s32>) = G_DUPLANE32 %0, %161 %3:_(<2 x s32>), %4:_(<2 x s32>) = G_UNMERGE_VALUES %262 $d0 = COPY %363 $d1 = COPY %464 RET_ReallyLR implicit $x065 66...67---68name: unmerge_dup6469legalized: true70body: |71 bb.1.entry:72 ; CHECK-LABEL: name: unmerge_dup6473 ; CHECK: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q074 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 175 ; CHECK-NEXT: [[DUPLANE64_:%[0-9]+]]:_(<2 x s64>) = G_DUPLANE64 [[COPY]], [[C]](s64)76 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 077 ; CHECK-NEXT: [[EVEC:%[0-9]+]]:_(s64) = G_EXTRACT_VECTOR_ELT [[DUPLANE64_]](<2 x s64>), [[C1]](s64)78 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 179 ; CHECK-NEXT: [[EVEC1:%[0-9]+]]:_(s64) = G_EXTRACT_VECTOR_ELT [[DUPLANE64_]](<2 x s64>), [[C2]](s64)80 ; CHECK-NEXT: $d0 = COPY [[EVEC]](s64)81 ; CHECK-NEXT: $d1 = COPY [[EVEC1]](s64)82 ; CHECK-NEXT: RET_ReallyLR implicit $x083 %0:_(<2 x s64>) = COPY $q084 %1:_(s64) = G_CONSTANT i64 185 %2:_(<2 x s64>) = G_DUPLANE64 %0, %186 %3:_(s64), %4:_(s64) = G_UNMERGE_VALUES %287 $d0 = COPY %388 $d1 = COPY %489 RET_ReallyLR implicit $x090 91...92