125 lines · plain
1# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass none -o - %s | FileCheck %s2# This test ensures that the MIR parser parses shufflemask correctly3 4# CHECK-LABEL: name: test_shuffle_1_05# CHECK: G_SHUFFLE_VECTOR %0(<2 x s32>), %1, shufflemask(1, 0)6---7name: test_shuffle_1_08tracksRegLiveness: true9body: |10 bb.0:11 liveins: $d012 13 %0:_(<2 x s32>) = COPY $d014 %2:_(<2 x s32>) = G_IMPLICIT_DEF15 %1:_(<2 x s32>) = G_SHUFFLE_VECTOR %0(<2 x s32>), %2, shufflemask(1, 0)16 $d0 = COPY %1(<2 x s32>)17 RET_ReallyLR implicit $d018 19...20 21# CHECK-LABEL: name: test_shuffle_nospace22# CHECK: G_SHUFFLE_VECTOR %0(<2 x s32>), %1, shufflemask(1, 0)23---24name: test_shuffle_nospace25tracksRegLiveness: true26body: |27 bb.0:28 liveins: $d029 30 %0:_(<2 x s32>) = COPY $d031 %2:_(<2 x s32>) = G_IMPLICIT_DEF32 %1:_(<2 x s32>) = G_SHUFFLE_VECTOR %0(<2 x s32>), %2, shufflemask(1,0)33 $d0 = COPY %1(<2 x s32>)34 RET_ReallyLR implicit $d035 36...37 38# CHECK-LABEL: name: test_shuffle_0_039# CHECK: G_SHUFFLE_VECTOR %0(<2 x s32>), %1, shufflemask(0, 0)40---41name: test_shuffle_0_042tracksRegLiveness: true43body: |44 bb.0:45 liveins: $d046 47 %0:_(<2 x s32>) = COPY $d048 %2:_(<2 x s32>) = G_IMPLICIT_DEF49 %1:_(<2 x s32>) = G_SHUFFLE_VECTOR %0(<2 x s32>), %2, shufflemask(0, 0)50 $d0 = COPY %1(<2 x s32>)51 RET_ReallyLR implicit $d052 53...54 55# CHECK-LABEL: name: test_shuffle_1_156# CHECK: G_SHUFFLE_VECTOR %0(<2 x s32>), %1, shufflemask(1, 1)57---58name: test_shuffle_1_159tracksRegLiveness: true60body: |61 bb.0:62 liveins: $d063 64 %0:_(<2 x s32>) = COPY $d065 %2:_(<2 x s32>) = G_IMPLICIT_DEF66 %1:_(<2 x s32>) = G_SHUFFLE_VECTOR %0(<2 x s32>), %2, shufflemask(1, 1)67 $d0 = COPY %1(<2 x s32>)68 RET_ReallyLR implicit $d069 70...71 72# CHECK-LABEL: name: test_shuffle_undef_undef73# CHECK: G_SHUFFLE_VECTOR %0(<2 x s32>), %1, shufflemask(undef, undef)74 75---76name: test_shuffle_undef_undef77tracksRegLiveness: true78body: |79 bb.0:80 liveins: $d081 82 %0:_(<2 x s32>) = COPY $d083 %2:_(<2 x s32>) = G_IMPLICIT_DEF84 %1:_(<2 x s32>) = G_SHUFFLE_VECTOR %0(<2 x s32>), %2, shufflemask(undef, undef)85 $d0 = COPY %1(<2 x s32>)86 RET_ReallyLR implicit $d087 88...89 90# CHECK-LABEL: name: test_shuffle_undef_091# CHECK: G_SHUFFLE_VECTOR %0(<2 x s32>), %1, shufflemask(undef, 0)92 93---94name: test_shuffle_undef_095tracksRegLiveness: true96body: |97 bb.0:98 liveins: $d099 100 %0:_(<2 x s32>) = COPY $d0101 %2:_(<2 x s32>) = G_IMPLICIT_DEF102 %1:_(<2 x s32>) = G_SHUFFLE_VECTOR %0(<2 x s32>), %2, shufflemask(undef, 0)103 $d0 = COPY %1(<2 x s32>)104 RET_ReallyLR implicit $d0105 106...107 108# CHECK-LABEL: name: test_shuffle_0_undef109# CHECK: G_SHUFFLE_VECTOR %0(<2 x s32>), %1, shufflemask(0, undef)110 111---112name: test_shuffle_0_undef113tracksRegLiveness: true114body: |115 bb.0:116 liveins: $d0117 118 %0:_(<2 x s32>) = COPY $d0119 %2:_(<2 x s32>) = G_IMPLICIT_DEF120 %1:_(<2 x s32>) = G_SHUFFLE_VECTOR %0(<2 x s32>), %2, shufflemask(0, undef)121 $d0 = COPY %1(<2 x s32>)122 RET_ReallyLR implicit $d0123 124...125