151 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple=mipsel-linux-gnu -mcpu=mips32r5 -mattr=msa,+fp64 -mattr=nan2008 -run-pass=regbankselect -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=P56003--- |4 5 define void @load_store_v16i8(ptr %a, ptr %b) { entry: ret void }6 define void @load_store_v8i16(ptr %a, ptr %b) { entry: ret void }7 define void @load_store_v4i32(ptr %a, ptr %b) { entry: ret void }8 define void @load_store_v2i64(ptr %a, ptr %b) { entry: ret void }9 define void @load_store_v4f32(ptr %a, ptr %b) { entry: ret void }10 define void @load_store_v2f64(ptr %a, ptr %b) { entry: ret void }11 12...13---14name: load_store_v16i815alignment: 416legalized: true17tracksRegLiveness: true18body: |19 bb.1.entry:20 liveins: $a0, $a121 22 ; P5600-LABEL: name: load_store_v16i823 ; P5600: liveins: $a0, $a124 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a025 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a126 ; P5600: [[LOAD:%[0-9]+]]:fprb(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load (<16 x s8>) from %ir.b)27 ; P5600: G_STORE [[LOAD]](<16 x s8>), [[COPY]](p0) :: (store (<16 x s8>) into %ir.a)28 ; P5600: RetRA29 %0:_(p0) = COPY $a030 %1:_(p0) = COPY $a131 %2:_(<16 x s8>) = G_LOAD %1(p0) :: (load (<16 x s8>) from %ir.b)32 G_STORE %2(<16 x s8>), %0(p0) :: (store (<16 x s8>) into %ir.a)33 RetRA34 35...36---37name: load_store_v8i1638alignment: 439legalized: true40tracksRegLiveness: true41body: |42 bb.1.entry:43 liveins: $a0, $a144 45 ; P5600-LABEL: name: load_store_v8i1646 ; P5600: liveins: $a0, $a147 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a048 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a149 ; P5600: [[LOAD:%[0-9]+]]:fprb(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load (<8 x s16>) from %ir.b)50 ; P5600: G_STORE [[LOAD]](<8 x s16>), [[COPY]](p0) :: (store (<8 x s16>) into %ir.a)51 ; P5600: RetRA52 %0:_(p0) = COPY $a053 %1:_(p0) = COPY $a154 %2:_(<8 x s16>) = G_LOAD %1(p0) :: (load (<8 x s16>) from %ir.b)55 G_STORE %2(<8 x s16>), %0(p0) :: (store (<8 x s16>) into %ir.a)56 RetRA57 58...59---60name: load_store_v4i3261alignment: 462legalized: true63tracksRegLiveness: true64body: |65 bb.1.entry:66 liveins: $a0, $a167 68 ; P5600-LABEL: name: load_store_v4i3269 ; P5600: liveins: $a0, $a170 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a071 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a172 ; P5600: [[LOAD:%[0-9]+]]:fprb(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load (<4 x s32>) from %ir.b)73 ; P5600: G_STORE [[LOAD]](<4 x s32>), [[COPY]](p0) :: (store (<4 x s32>) into %ir.a)74 ; P5600: RetRA75 %0:_(p0) = COPY $a076 %1:_(p0) = COPY $a177 %2:_(<4 x s32>) = G_LOAD %1(p0) :: (load (<4 x s32>) from %ir.b)78 G_STORE %2(<4 x s32>), %0(p0) :: (store (<4 x s32>) into %ir.a)79 RetRA80 81...82---83name: load_store_v2i6484alignment: 485legalized: true86tracksRegLiveness: true87body: |88 bb.1.entry:89 liveins: $a0, $a190 91 ; P5600-LABEL: name: load_store_v2i6492 ; P5600: liveins: $a0, $a193 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a094 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a195 ; P5600: [[LOAD:%[0-9]+]]:fprb(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load (<2 x s64>) from %ir.b)96 ; P5600: G_STORE [[LOAD]](<2 x s64>), [[COPY]](p0) :: (store (<2 x s64>) into %ir.a)97 ; P5600: RetRA98 %0:_(p0) = COPY $a099 %1:_(p0) = COPY $a1100 %2:_(<2 x s64>) = G_LOAD %1(p0) :: (load (<2 x s64>) from %ir.b)101 G_STORE %2(<2 x s64>), %0(p0) :: (store (<2 x s64>) into %ir.a)102 RetRA103 104...105---106name: load_store_v4f32107alignment: 4108legalized: true109tracksRegLiveness: true110body: |111 bb.1.entry:112 liveins: $a0, $a1113 114 ; P5600-LABEL: name: load_store_v4f32115 ; P5600: liveins: $a0, $a1116 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0117 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1118 ; P5600: [[LOAD:%[0-9]+]]:fprb(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load (<4 x s32>) from %ir.b)119 ; P5600: G_STORE [[LOAD]](<4 x s32>), [[COPY]](p0) :: (store (<4 x s32>) into %ir.a)120 ; P5600: RetRA121 %0:_(p0) = COPY $a0122 %1:_(p0) = COPY $a1123 %2:_(<4 x s32>) = G_LOAD %1(p0) :: (load (<4 x s32>) from %ir.b)124 G_STORE %2(<4 x s32>), %0(p0) :: (store (<4 x s32>) into %ir.a)125 RetRA126 127...128---129name: load_store_v2f64130alignment: 4131legalized: true132tracksRegLiveness: true133body: |134 bb.1.entry:135 liveins: $a0, $a1136 137 ; P5600-LABEL: name: load_store_v2f64138 ; P5600: liveins: $a0, $a1139 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0140 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1141 ; P5600: [[LOAD:%[0-9]+]]:fprb(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load (<2 x s64>) from %ir.b)142 ; P5600: G_STORE [[LOAD]](<2 x s64>), [[COPY]](p0) :: (store (<2 x s64>) into %ir.a)143 ; P5600: RetRA144 %0:_(p0) = COPY $a0145 %1:_(p0) = COPY $a1146 %2:_(<2 x s64>) = G_LOAD %1(p0) :: (load (<2 x s64>) from %ir.b)147 G_STORE %2(<2 x s64>), %0(p0) :: (store (<2 x s64>) into %ir.a)148 RetRA149 150...151