brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.0 KiB · 6b9b08e Raw
178 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64-linux-gnu -O0 -run-pass=legalizer %s -o - | FileCheck %s3 4---5name:            legal_v4s326body: |7  bb.0:8    liveins: $w0, $w1, $w2, $w39    ; CHECK-LABEL: name: legal_v4s3210    ; CHECK: liveins: $w0, $w1, $w2, $w311    ; CHECK-NEXT: {{  $}}12    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w013    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w114    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $w215    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $w316    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<4 x s32>) = G_BUILD_VECTOR [[COPY]](s32), [[COPY1]](s32), [[COPY2]](s32), [[COPY3]](s32)17    ; CHECK-NEXT: $q0 = COPY [[BUILD_VECTOR]](<4 x s32>)18    ; CHECK-NEXT: RET_ReallyLR19    %0:_(s32) = COPY $w020    %1:_(s32) = COPY $w121    %2:_(s32) = COPY $w222    %3:_(s32) = COPY $w323    %4:_(<4 x s32>) = G_BUILD_VECTOR %0(s32), %1(s32), %2(s32), %3(s32)24    $q0 = COPY %4(<4 x s32>)25    RET_ReallyLR26...27---28name:            legal_v2s6429body: |30  bb.0:31    liveins: $x0, $x132    ; CHECK-LABEL: name: legal_v2s6433    ; CHECK: liveins: $x0, $x134    ; CHECK-NEXT: {{  $}}35    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x036    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x137    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s64>) = G_BUILD_VECTOR [[COPY]](s64), [[COPY1]](s64)38    ; CHECK-NEXT: $q0 = COPY [[BUILD_VECTOR]](<2 x s64>)39    ; CHECK-NEXT: RET_ReallyLR40    %0:_(s64) = COPY $x041    %1:_(s64) = COPY $x142    %2:_(<2 x s64>) = G_BUILD_VECTOR %0(s64), %1(s64)43    $q0 = COPY %2(<2 x s64>)44    RET_ReallyLR45...46---47name:            legal_v2p048body: |49  bb.0:50    liveins: $x0, $x151    ; CHECK-LABEL: name: legal_v2p052    ; CHECK: liveins: $x0, $x153    ; CHECK-NEXT: {{  $}}54    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x055    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x156    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x p0>) = G_BUILD_VECTOR [[COPY]](p0), [[COPY1]](p0)57    ; CHECK-NEXT: $q0 = COPY [[BUILD_VECTOR]](<2 x p0>)58    ; CHECK-NEXT: RET_ReallyLR59    %0:_(p0) = COPY $x060    %1:_(p0) = COPY $x161    %2:_(<2 x p0>) = G_BUILD_VECTOR %0(p0), %1(p0)62    $q0 = COPY %2(<2 x p0>)63    RET_ReallyLR64...65---66name:            legal_v16s867body: |68  bb.0:69    ; CHECK-LABEL: name: legal_v16s870    ; CHECK: [[DEF:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF71    ; CHECK-NEXT: [[DEF1:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF72    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<16 x s8>) = G_BUILD_VECTOR [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8)73    ; CHECK-NEXT: $q0 = COPY [[BUILD_VECTOR]](<16 x s8>)74    ; CHECK-NEXT: RET_ReallyLR75    %0:_(s8) = G_IMPLICIT_DEF76    %1:_(s8) = G_IMPLICIT_DEF77    %2:_(<16 x s8>) = G_BUILD_VECTOR %0(s8), %1(s8), %0(s8), %1(s8), %0(s8), %1(s8), %0(s8), %1(s8), %0(s8), %1(s8), %0(s8), %1(s8), %0(s8), %1(s8), %0(s8), %1(s8)78    $q0 = COPY %2(<16 x s8>)79    RET_ReallyLR80...81---82name:            legal_v8s883body: |84  bb.0:85    ; CHECK-LABEL: name: legal_v8s886    ; CHECK: [[DEF:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF87    ; CHECK-NEXT: [[DEF1:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF88    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<8 x s8>) = G_BUILD_VECTOR [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8)89    ; CHECK-NEXT: $d0 = COPY [[BUILD_VECTOR]](<8 x s8>)90    ; CHECK-NEXT: RET_ReallyLR91    %0:_(s8) = G_IMPLICIT_DEF92    %1:_(s8) = G_IMPLICIT_DEF93    %2:_(<8 x s8>) = G_BUILD_VECTOR %0(s8), %1(s8), %0(s8), %1(s8), %0(s8), %1(s8), %0(s8), %1(s8)94    $d0 = COPY %2(<8 x s8>)95    RET_ReallyLR96...97---98name:            widen_v16s199body: |100  bb.0:101    ; CHECK-LABEL: name: widen_v16s1102    ; CHECK: [[DEF:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF103    ; CHECK-NEXT: [[DEF1:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF104    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<16 x s8>) = G_BUILD_VECTOR [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8), [[DEF]](s8), [[DEF1]](s8)105    ; CHECK-NEXT: $q0 = COPY [[BUILD_VECTOR]](<16 x s8>)106    ; CHECK-NEXT: RET_ReallyLR107    %0:_(s1) = G_IMPLICIT_DEF108    %1:_(s1) = G_IMPLICIT_DEF109    %2:_(<16 x s1>) = G_BUILD_VECTOR %0(s1), %1(s1), %0(s1), %1(s1), %0(s1), %1(s1), %0(s1), %1(s1), %0(s1), %1(s1), %0(s1), %1(s1), %0(s1), %1(s1), %0(s1), %1(s1)110    %w:_(<16 x s8>) = G_ANYEXT %2111    $q0 = COPY %w(<16 x s8>)112    RET_ReallyLR113...114---115name:            widen_v2s16116body: |117  bb.0:118    liveins: $x0, $x1119    ; CHECK-LABEL: name: widen_v2s16120    ; CHECK: liveins: $x0, $x1121    ; CHECK-NEXT: {{  $}}122    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $h0123    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $h1124    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(s16) = G_IMPLICIT_DEF125    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<4 x s16>) = G_BUILD_VECTOR [[COPY]](s16), [[COPY1]](s16), [[DEF]](s16), [[DEF]](s16)126    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(<4 x s32>) = G_ANYEXT [[BUILD_VECTOR]](<4 x s16>)127    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(<2 x s32>), [[UV1:%[0-9]+]]:_(<2 x s32>) = G_UNMERGE_VALUES [[ANYEXT]](<4 x s32>)128    ; CHECK-NEXT: $d0 = COPY [[UV]](<2 x s32>)129    ; CHECK-NEXT: RET_ReallyLR130    %0:_(s16) = COPY $h0131    %1:_(s16) = COPY $h1132    %2:_(<2 x s16>) = G_BUILD_VECTOR %0(s16), %1(s16)133    %3:_(<2 x s32>) = G_ANYEXT %2(<2 x s16>)134    $d0 = COPY %3(<2 x s32>)135    RET_ReallyLR136...137 138---139name:            widen_v2s8140body: |141  bb.0:142    ; CHECK-LABEL: name: widen_v2s8143    ; CHECK: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF144    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s32>) = G_BUILD_VECTOR [[DEF]](s32), [[DEF]](s32)145    ; CHECK-NEXT: $d0 = COPY [[BUILD_VECTOR]](<2 x s32>)146    ; CHECK-NEXT: RET_ReallyLR147    %0:_(s8) = G_IMPLICIT_DEF148    %1:_(s8) = G_IMPLICIT_DEF149    %2:_(<2 x s8>) = G_BUILD_VECTOR %0(s8), %1(s8)150    %3:_(<2 x s32>) = G_ANYEXT %2(<2 x s8>)151    $d0 = COPY %3(<2 x s32>)152    RET_ReallyLR153...154 155---156name:            widen_v4s8157body: |158  bb.0:159    ; CHECK-LABEL: name: widen_v4s8160    ; CHECK: [[DEF:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF161    ; CHECK-NEXT: [[DEF1:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF162    ; CHECK-NEXT: [[DEF2:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF163    ; CHECK-NEXT: [[DEF3:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF164    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<8 x s8>) = G_BUILD_VECTOR [[DEF]](s8), [[DEF1]](s8), [[DEF2]](s8), [[DEF3]](s8), [[DEF]](s8), [[DEF]](s8), [[DEF]](s8), [[DEF]](s8)165    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(<8 x s16>) = G_ANYEXT [[BUILD_VECTOR]](<8 x s8>)166    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(<4 x s16>), [[UV1:%[0-9]+]]:_(<4 x s16>) = G_UNMERGE_VALUES [[ANYEXT]](<8 x s16>)167    ; CHECK-NEXT: $d0 = COPY [[UV]](<4 x s16>)168    ; CHECK-NEXT: RET_ReallyLR169    %0:_(s8) = G_IMPLICIT_DEF170    %1:_(s8) = G_IMPLICIT_DEF171    %2:_(s8) = G_IMPLICIT_DEF172    %3:_(s8) = G_IMPLICIT_DEF173    %4:_(<4 x s8>) = G_BUILD_VECTOR %0(s8), %1(s8), %2(s8), %3(s8)174    %5:_(<4 x s16>) = G_ANYEXT %4(<4 x s8>)175    $d0 = COPY %5(<4 x s16>)176    RET_ReallyLR177...178