83 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple aarch64-apple-ios -run-pass=aarch64-prelegalizer-combiner %s -o - | FileCheck %s3 4---5name: shuffle_vector_unused_lhs6tracksRegLiveness: true7body: |8 bb.1:9 liveins: $d0, $d110 11 ; CHECK-LABEL: name: shuffle_vector_unused_lhs12 ; CHECK: liveins: $d0, $d113 ; CHECK-NEXT: {{ $}}14 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d115 ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<2 x s32>) = G_IMPLICIT_DEF16 ; CHECK-NEXT: [[SHUF:%[0-9]+]]:_(<4 x s32>) = G_SHUFFLE_VECTOR [[COPY]](<2 x s32>), [[DEF]], shufflemask(1, 0, 1, 0)17 ; CHECK-NEXT: RET_ReallyLR implicit [[SHUF]](<4 x s32>)18 %0:_(<2 x s32>) = COPY $d019 %1:_(<2 x s32>) = COPY $d120 %2:_(<4 x s32>) = G_SHUFFLE_VECTOR %0(<2 x s32>), %1(<2 x s32>), shufflemask(3, 2, 3, 2)21 RET_ReallyLR implicit %222...23 24---25name: shuffle_vector_unused_rhs26tracksRegLiveness: true27body: |28 bb.1:29 liveins: $d0, $d130 31 ; CHECK-LABEL: name: shuffle_vector_unused_rhs32 ; CHECK: liveins: $d0, $d133 ; CHECK-NEXT: {{ $}}34 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d035 ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<2 x s32>) = G_IMPLICIT_DEF36 ; CHECK-NEXT: [[SHUF:%[0-9]+]]:_(<4 x s32>) = G_SHUFFLE_VECTOR [[COPY]](<2 x s32>), [[DEF]], shufflemask(0, 0, 1, 1)37 ; CHECK-NEXT: RET_ReallyLR implicit [[SHUF]](<4 x s32>)38 %0:_(<2 x s32>) = COPY $d039 %1:_(<2 x s32>) = COPY $d140 %2:_(<4 x s32>) = G_SHUFFLE_VECTOR %0, %1, shufflemask(0,0,1,1)41 RET_ReallyLR implicit %242...43 44---45name: shuffle_vector_both_used46tracksRegLiveness: true47body: |48 bb.1:49 liveins: $d0, $d150 51 ; CHECK-LABEL: name: shuffle_vector_both_used52 ; CHECK: liveins: $d0, $d153 ; CHECK-NEXT: {{ $}}54 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d055 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<2 x s32>) = COPY $d156 ; CHECK-NEXT: [[SHUF:%[0-9]+]]:_(<4 x s32>) = G_SHUFFLE_VECTOR [[COPY]](<2 x s32>), [[COPY1]], shufflemask(0, 2, 1, 3)57 ; CHECK-NEXT: RET_ReallyLR implicit [[SHUF]](<4 x s32>)58 %0:_(<2 x s32>) = COPY $d059 %1:_(<2 x s32>) = COPY $d160 %2:_(<4 x s32>) = G_SHUFFLE_VECTOR %0, %1, shufflemask(0,2,1,3)61 RET_ReallyLR implicit %262...63 64---65name: shuffle_vector_undef_elems66tracksRegLiveness: true67body: |68 bb.1:69 liveins: $d0, $d170 71 ; CHECK-LABEL: name: shuffle_vector_undef_elems72 ; CHECK: liveins: $d0, $d173 ; CHECK-NEXT: {{ $}}74 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d075 ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<2 x s32>) = G_IMPLICIT_DEF76 ; CHECK-NEXT: [[SHUF:%[0-9]+]]:_(<4 x s32>) = G_SHUFFLE_VECTOR [[COPY]](<2 x s32>), [[DEF]], shufflemask(undef, 0, 1, undef)77 ; CHECK-NEXT: RET_ReallyLR implicit [[SHUF]](<4 x s32>)78 %0:_(<2 x s32>) = COPY $d079 %1:_(<2 x s32>) = COPY $d180 %2:_(<4 x s32>) = G_SHUFFLE_VECTOR %0, %1, shufflemask(-1,0,1,-1)81 RET_ReallyLR implicit %282...83