123 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=mipsel-linux-gnu -mcpu=mips32r5 -mattr=+msa,+fp64,+nan2008 -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=P56003--- |4 5 define void @add_v16i8(ptr %a, ptr %b, ptr %c) { entry: ret void }6 define void @add_v8i16(ptr %a, ptr %b, ptr %c) { entry: ret void }7 define void @add_v4i32(ptr %a, ptr %b, ptr %c) { entry: ret void }8 define void @add_v2i64(ptr %a, ptr %b, ptr %c) { entry: ret void }9 10...11---12name: add_v16i813alignment: 414tracksRegLiveness: true15body: |16 bb.1.entry:17 liveins: $a0, $a1, $a218 19 ; P5600-LABEL: name: add_v16i820 ; P5600: liveins: $a0, $a1, $a221 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a022 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a123 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a224 ; P5600: [[LOAD:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load (<16 x s8>) from %ir.a)25 ; P5600: [[LOAD1:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load (<16 x s8>) from %ir.b)26 ; P5600: [[ADD:%[0-9]+]]:_(<16 x s8>) = G_ADD [[LOAD1]], [[LOAD]]27 ; P5600: G_STORE [[ADD]](<16 x s8>), [[COPY2]](p0) :: (store (<16 x s8>) into %ir.c)28 ; P5600: RetRA29 %0:_(p0) = COPY $a030 %1:_(p0) = COPY $a131 %2:_(p0) = COPY $a232 %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load (<16 x s8>) from %ir.a)33 %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load (<16 x s8>) from %ir.b)34 %5:_(<16 x s8>) = G_ADD %4, %335 G_STORE %5(<16 x s8>), %2(p0) :: (store (<16 x s8>) into %ir.c)36 RetRA37 38...39---40name: add_v8i1641alignment: 442tracksRegLiveness: true43body: |44 bb.1.entry:45 liveins: $a0, $a1, $a246 47 ; P5600-LABEL: name: add_v8i1648 ; P5600: liveins: $a0, $a1, $a249 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a050 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a151 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a252 ; P5600: [[LOAD:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load (<8 x s16>) from %ir.a)53 ; P5600: [[LOAD1:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load (<8 x s16>) from %ir.b)54 ; P5600: [[ADD:%[0-9]+]]:_(<8 x s16>) = G_ADD [[LOAD1]], [[LOAD]]55 ; P5600: G_STORE [[ADD]](<8 x s16>), [[COPY2]](p0) :: (store (<8 x s16>) into %ir.c)56 ; P5600: RetRA57 %0:_(p0) = COPY $a058 %1:_(p0) = COPY $a159 %2:_(p0) = COPY $a260 %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load (<8 x s16>) from %ir.a)61 %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load (<8 x s16>) from %ir.b)62 %5:_(<8 x s16>) = G_ADD %4, %363 G_STORE %5(<8 x s16>), %2(p0) :: (store (<8 x s16>) into %ir.c)64 RetRA65 66...67---68name: add_v4i3269alignment: 470tracksRegLiveness: true71body: |72 bb.1.entry:73 liveins: $a0, $a1, $a274 75 ; P5600-LABEL: name: add_v4i3276 ; P5600: liveins: $a0, $a1, $a277 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a078 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a179 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a280 ; P5600: [[LOAD:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load (<4 x s32>) from %ir.a)81 ; P5600: [[LOAD1:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load (<4 x s32>) from %ir.b)82 ; P5600: [[ADD:%[0-9]+]]:_(<4 x s32>) = G_ADD [[LOAD1]], [[LOAD]]83 ; P5600: G_STORE [[ADD]](<4 x s32>), [[COPY2]](p0) :: (store (<4 x s32>) into %ir.c)84 ; P5600: RetRA85 %0:_(p0) = COPY $a086 %1:_(p0) = COPY $a187 %2:_(p0) = COPY $a288 %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load (<4 x s32>) from %ir.a)89 %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load (<4 x s32>) from %ir.b)90 %5:_(<4 x s32>) = G_ADD %4, %391 G_STORE %5(<4 x s32>), %2(p0) :: (store (<4 x s32>) into %ir.c)92 RetRA93 94...95---96name: add_v2i6497alignment: 498tracksRegLiveness: true99body: |100 bb.1.entry:101 liveins: $a0, $a1, $a2102 103 ; P5600-LABEL: name: add_v2i64104 ; P5600: liveins: $a0, $a1, $a2105 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0106 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1107 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2108 ; P5600: [[LOAD:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load (<2 x s64>) from %ir.a)109 ; P5600: [[LOAD1:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load (<2 x s64>) from %ir.b)110 ; P5600: [[ADD:%[0-9]+]]:_(<2 x s64>) = G_ADD [[LOAD1]], [[LOAD]]111 ; P5600: G_STORE [[ADD]](<2 x s64>), [[COPY2]](p0) :: (store (<2 x s64>) into %ir.c)112 ; P5600: RetRA113 %0:_(p0) = COPY $a0114 %1:_(p0) = COPY $a1115 %2:_(p0) = COPY $a2116 %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load (<2 x s64>) from %ir.a)117 %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load (<2 x s64>) from %ir.b)118 %5:_(<2 x s64>) = G_ADD %4, %3119 G_STORE %5(<2 x s64>), %2(p0) :: (store (<2 x s64>) into %ir.c)120 RetRA121 122...123