158 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s3 4...5---6name: BITv8i8_v2s327legalized: true8regBankSelected: true9tracksRegLiveness: true10body: |11 bb.0:12 liveins: $d0, $d1, $d213 14 ; CHECK-LABEL: name: BITv8i8_v2s3215 ; CHECK: liveins: $d0, $d1, $d216 ; CHECK-NEXT: {{ $}}17 ; CHECK-NEXT: %lhs:fpr64 = COPY $d018 ; CHECK-NEXT: %mhs:fpr64 = COPY $d119 ; CHECK-NEXT: %rhs:fpr64 = COPY $d220 ; CHECK-NEXT: %bit:fpr64 = BSPv8i8 %lhs, %mhs, %rhs21 ; CHECK-NEXT: $d0 = COPY %bit22 ; CHECK-NEXT: RET_ReallyLR implicit $d023 %lhs:fpr(<2 x s32>) = COPY $d024 %mhs:fpr(<2 x s32>) = COPY $d125 %rhs:fpr(<2 x s32>) = COPY $d226 %bit:fpr(<2 x s32>) = G_BSP %lhs, %mhs, %rhs27 $d0 = COPY %bit(<2 x s32>)28 RET_ReallyLR implicit $d029 30...31---32name: BITv8i8_v4s1633legalized: true34regBankSelected: true35tracksRegLiveness: true36body: |37 bb.0:38 liveins: $d0, $d1, $d239 ; CHECK-LABEL: name: BITv8i8_v4s1640 ; CHECK: liveins: $d0, $d1, $d241 ; CHECK-NEXT: {{ $}}42 ; CHECK-NEXT: %lhs:fpr64 = COPY $d043 ; CHECK-NEXT: %mhs:fpr64 = COPY $d144 ; CHECK-NEXT: %rhs:fpr64 = COPY $d245 ; CHECK-NEXT: %bit:fpr64 = BSPv8i8 %lhs, %mhs, %rhs46 ; CHECK-NEXT: $d0 = COPY %bit47 ; CHECK-NEXT: RET_ReallyLR implicit $d048 %lhs:fpr(<4 x s16>) = COPY $d049 %mhs:fpr(<4 x s16>) = COPY $d150 %rhs:fpr(<4 x s16>) = COPY $d251 %bit:fpr(<4 x s16>) = G_BSP %lhs, %mhs, %rhs52 $d0 = COPY %bit(<4 x s16>)53 RET_ReallyLR implicit $d054 55...56---57name: BITv16i8_v2s6458legalized: true59regBankSelected: true60tracksRegLiveness: true61body: |62 bb.0:63 liveins: $q0, $q1, $q264 65 ; CHECK-LABEL: name: BITv16i8_v2s6466 ; CHECK: liveins: $q0, $q1, $q267 ; CHECK-NEXT: {{ $}}68 ; CHECK-NEXT: %lhs:fpr128 = COPY $q069 ; CHECK-NEXT: %mhs:fpr128 = COPY $q170 ; CHECK-NEXT: %rhs:fpr128 = COPY $q271 ; CHECK-NEXT: %bit:fpr128 = BSPv16i8 %lhs, %mhs, %rhs72 ; CHECK-NEXT: $q0 = COPY %bit73 ; CHECK-NEXT: RET_ReallyLR implicit $q074 %lhs:fpr(<2 x s64>) = COPY $q075 %mhs:fpr(<2 x s64>) = COPY $q176 %rhs:fpr(<2 x s64>) = COPY $q277 %bit:fpr(<2 x s64>) = G_BSP %lhs, %mhs, %rhs78 $q0 = COPY %bit(<2 x s64>)79 RET_ReallyLR implicit $q080 81...82---83name: BITv16i8_v4s3284legalized: true85regBankSelected: true86tracksRegLiveness: true87body: |88 bb.0:89 liveins: $q0, $q1, $q290 91 ; CHECK-LABEL: name: BITv16i8_v4s3292 ; CHECK: liveins: $q0, $q1, $q293 ; CHECK-NEXT: {{ $}}94 ; CHECK-NEXT: %lhs:fpr128 = COPY $q095 ; CHECK-NEXT: %mhs:fpr128 = COPY $q196 ; CHECK-NEXT: %rhs:fpr128 = COPY $q297 ; CHECK-NEXT: %bit:fpr128 = BSPv16i8 %lhs, %mhs, %rhs98 ; CHECK-NEXT: $q0 = COPY %bit99 ; CHECK-NEXT: RET_ReallyLR implicit $q0100 %lhs:fpr(<4 x s32>) = COPY $q0101 %mhs:fpr(<4 x s32>) = COPY $q1102 %rhs:fpr(<4 x s32>) = COPY $q2103 %bit:fpr(<4 x s32>) = G_BSP %lhs, %mhs, %rhs104 $q0 = COPY %bit(<4 x s32>)105 RET_ReallyLR implicit $q0106 107...108---109name: BITv16i8_v8s16110legalized: true111regBankSelected: true112tracksRegLiveness: true113body: |114 bb.0:115 liveins: $q0, $q1, $q2116 117 ; CHECK-LABEL: name: BITv16i8_v8s16118 ; CHECK: liveins: $q0, $q1, $q2119 ; CHECK-NEXT: {{ $}}120 ; CHECK-NEXT: %lhs:fpr128 = COPY $q0121 ; CHECK-NEXT: %mhs:fpr128 = COPY $q1122 ; CHECK-NEXT: %rhs:fpr128 = COPY $q2123 ; CHECK-NEXT: %bit:fpr128 = BSPv16i8 %lhs, %mhs, %rhs124 ; CHECK-NEXT: $q0 = COPY %bit125 ; CHECK-NEXT: RET_ReallyLR implicit $q0126 %lhs:fpr(<8 x s16>) = COPY $q0127 %mhs:fpr(<8 x s16>) = COPY $q1128 %rhs:fpr(<8 x s16>) = COPY $q2129 %bit:fpr(<8 x s16>) = G_BSP %lhs, %mhs, %rhs130 $q0 = COPY %bit(<8 x s16>)131 RET_ReallyLR implicit $q0132 133...134---135name: BITv16i8_v16s8136legalized: true137regBankSelected: true138tracksRegLiveness: true139body: |140 bb.0:141 liveins: $q0, $q1, $q2142 143 ; CHECK-LABEL: name: BITv16i8_v16s8144 ; CHECK: liveins: $q0, $q1, $q2145 ; CHECK-NEXT: {{ $}}146 ; CHECK-NEXT: %lhs:fpr128 = COPY $q0147 ; CHECK-NEXT: %mhs:fpr128 = COPY $q1148 ; CHECK-NEXT: %rhs:fpr128 = COPY $q2149 ; CHECK-NEXT: %bit:fpr128 = BSPv16i8 %lhs, %mhs, %rhs150 ; CHECK-NEXT: $q0 = COPY %bit151 ; CHECK-NEXT: RET_ReallyLR implicit $q0152 %lhs:fpr(<16 x s8>) = COPY $q0153 %mhs:fpr(<16 x s8>) = COPY $q1154 %rhs:fpr(<16 x s8>) = COPY $q2155 %bit:fpr(<16 x s8>) = G_BSP %lhs, %mhs, %rhs156 $q0 = COPY %bit(<16 x s8>)157 RET_ReallyLR implicit $q0158