474 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 @sdiv_v16i8(ptr %a, ptr %b, ptr %c) { entry: ret void }6 define void @sdiv_v8i16(ptr %a, ptr %b, ptr %c) { entry: ret void }7 define void @sdiv_v4i32(ptr %a, ptr %b, ptr %c) { entry: ret void }8 define void @sdiv_v2i64(ptr %a, ptr %b, ptr %c) { entry: ret void }9 10 define void @srem_v16i8(ptr %a, ptr %b, ptr %c) { entry: ret void }11 define void @srem_v8i16(ptr %a, ptr %b, ptr %c) { entry: ret void }12 define void @srem_v4i32(ptr %a, ptr %b, ptr %c) { entry: ret void }13 define void @srem_v2i64(ptr %a, ptr %b, ptr %c) { entry: ret void }14 15 define void @udiv_v16u8(ptr %a, ptr %b, ptr %c) { entry: ret void }16 define void @udiv_v8u16(ptr %a, ptr %b, ptr %c) { entry: ret void }17 define void @udiv_v4u32(ptr %a, ptr %b, ptr %c) { entry: ret void }18 define void @udiv_v2u64(ptr %a, ptr %b, ptr %c) { entry: ret void }19 20 define void @urem_v16u8(ptr %a, ptr %b, ptr %c) { entry: ret void }21 define void @urem_v8u16(ptr %a, ptr %b, ptr %c) { entry: ret void }22 define void @urem_v4u32(ptr %a, ptr %b, ptr %c) { entry: ret void }23 define void @urem_v2u64(ptr %a, ptr %b, ptr %c) { entry: ret void }24 25...26---27name: sdiv_v16i828alignment: 429tracksRegLiveness: true30body: |31 bb.1.entry:32 liveins: $a0, $a1, $a233 34 ; P5600-LABEL: name: sdiv_v16i835 ; P5600: liveins: $a0, $a1, $a236 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a037 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a138 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a239 ; P5600: [[LOAD:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load (<16 x s8>) from %ir.a)40 ; P5600: [[LOAD1:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load (<16 x s8>) from %ir.b)41 ; P5600: [[SDIV:%[0-9]+]]:_(<16 x s8>) = G_SDIV [[LOAD]], [[LOAD1]]42 ; P5600: G_STORE [[SDIV]](<16 x s8>), [[COPY2]](p0) :: (store (<16 x s8>) into %ir.c)43 ; P5600: RetRA44 %0:_(p0) = COPY $a045 %1:_(p0) = COPY $a146 %2:_(p0) = COPY $a247 %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load (<16 x s8>) from %ir.a)48 %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load (<16 x s8>) from %ir.b)49 %5:_(<16 x s8>) = G_SDIV %3, %450 G_STORE %5(<16 x s8>), %2(p0) :: (store (<16 x s8>) into %ir.c)51 RetRA52 53...54---55name: sdiv_v8i1656alignment: 457tracksRegLiveness: true58body: |59 bb.1.entry:60 liveins: $a0, $a1, $a261 62 ; P5600-LABEL: name: sdiv_v8i1663 ; P5600: liveins: $a0, $a1, $a264 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a065 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a166 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a267 ; P5600: [[LOAD:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load (<8 x s16>) from %ir.a)68 ; P5600: [[LOAD1:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load (<8 x s16>) from %ir.b)69 ; P5600: [[SDIV:%[0-9]+]]:_(<8 x s16>) = G_SDIV [[LOAD]], [[LOAD1]]70 ; P5600: G_STORE [[SDIV]](<8 x s16>), [[COPY2]](p0) :: (store (<8 x s16>) into %ir.c)71 ; P5600: RetRA72 %0:_(p0) = COPY $a073 %1:_(p0) = COPY $a174 %2:_(p0) = COPY $a275 %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load (<8 x s16>) from %ir.a)76 %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load (<8 x s16>) from %ir.b)77 %5:_(<8 x s16>) = G_SDIV %3, %478 G_STORE %5(<8 x s16>), %2(p0) :: (store (<8 x s16>) into %ir.c)79 RetRA80 81...82---83name: sdiv_v4i3284alignment: 485tracksRegLiveness: true86body: |87 bb.1.entry:88 liveins: $a0, $a1, $a289 90 ; P5600-LABEL: name: sdiv_v4i3291 ; P5600: liveins: $a0, $a1, $a292 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a093 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a194 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a295 ; P5600: [[LOAD:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load (<4 x s32>) from %ir.a)96 ; P5600: [[LOAD1:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load (<4 x s32>) from %ir.b)97 ; P5600: [[SDIV:%[0-9]+]]:_(<4 x s32>) = G_SDIV [[LOAD]], [[LOAD1]]98 ; P5600: G_STORE [[SDIV]](<4 x s32>), [[COPY2]](p0) :: (store (<4 x s32>) into %ir.c)99 ; P5600: RetRA100 %0:_(p0) = COPY $a0101 %1:_(p0) = COPY $a1102 %2:_(p0) = COPY $a2103 %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load (<4 x s32>) from %ir.a)104 %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load (<4 x s32>) from %ir.b)105 %5:_(<4 x s32>) = G_SDIV %3, %4106 G_STORE %5(<4 x s32>), %2(p0) :: (store (<4 x s32>) into %ir.c)107 RetRA108 109...110---111name: sdiv_v2i64112alignment: 4113tracksRegLiveness: true114body: |115 bb.1.entry:116 liveins: $a0, $a1, $a2117 118 ; P5600-LABEL: name: sdiv_v2i64119 ; P5600: liveins: $a0, $a1, $a2120 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0121 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1122 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2123 ; P5600: [[LOAD:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load (<2 x s64>) from %ir.a)124 ; P5600: [[LOAD1:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load (<2 x s64>) from %ir.b)125 ; P5600: [[SDIV:%[0-9]+]]:_(<2 x s64>) = G_SDIV [[LOAD]], [[LOAD1]]126 ; P5600: G_STORE [[SDIV]](<2 x s64>), [[COPY2]](p0) :: (store (<2 x s64>) into %ir.c)127 ; P5600: RetRA128 %0:_(p0) = COPY $a0129 %1:_(p0) = COPY $a1130 %2:_(p0) = COPY $a2131 %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load (<2 x s64>) from %ir.a)132 %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load (<2 x s64>) from %ir.b)133 %5:_(<2 x s64>) = G_SDIV %3, %4134 G_STORE %5(<2 x s64>), %2(p0) :: (store (<2 x s64>) into %ir.c)135 RetRA136 137...138---139name: srem_v16i8140alignment: 4141tracksRegLiveness: true142body: |143 bb.1.entry:144 liveins: $a0, $a1, $a2145 146 ; P5600-LABEL: name: srem_v16i8147 ; P5600: liveins: $a0, $a1, $a2148 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0149 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1150 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2151 ; P5600: [[LOAD:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load (<16 x s8>) from %ir.a)152 ; P5600: [[LOAD1:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load (<16 x s8>) from %ir.b)153 ; P5600: [[SREM:%[0-9]+]]:_(<16 x s8>) = G_SREM [[LOAD]], [[LOAD1]]154 ; P5600: G_STORE [[SREM]](<16 x s8>), [[COPY2]](p0) :: (store (<16 x s8>) into %ir.c)155 ; P5600: RetRA156 %0:_(p0) = COPY $a0157 %1:_(p0) = COPY $a1158 %2:_(p0) = COPY $a2159 %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load (<16 x s8>) from %ir.a)160 %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load (<16 x s8>) from %ir.b)161 %5:_(<16 x s8>) = G_SREM %3, %4162 G_STORE %5(<16 x s8>), %2(p0) :: (store (<16 x s8>) into %ir.c)163 RetRA164 165...166---167name: srem_v8i16168alignment: 4169tracksRegLiveness: true170body: |171 bb.1.entry:172 liveins: $a0, $a1, $a2173 174 ; P5600-LABEL: name: srem_v8i16175 ; P5600: liveins: $a0, $a1, $a2176 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0177 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1178 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2179 ; P5600: [[LOAD:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load (<8 x s16>) from %ir.a)180 ; P5600: [[LOAD1:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load (<8 x s16>) from %ir.b)181 ; P5600: [[SREM:%[0-9]+]]:_(<8 x s16>) = G_SREM [[LOAD]], [[LOAD1]]182 ; P5600: G_STORE [[SREM]](<8 x s16>), [[COPY2]](p0) :: (store (<8 x s16>) into %ir.c)183 ; P5600: RetRA184 %0:_(p0) = COPY $a0185 %1:_(p0) = COPY $a1186 %2:_(p0) = COPY $a2187 %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load (<8 x s16>) from %ir.a)188 %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load (<8 x s16>) from %ir.b)189 %5:_(<8 x s16>) = G_SREM %3, %4190 G_STORE %5(<8 x s16>), %2(p0) :: (store (<8 x s16>) into %ir.c)191 RetRA192 193...194---195name: srem_v4i32196alignment: 4197tracksRegLiveness: true198body: |199 bb.1.entry:200 liveins: $a0, $a1, $a2201 202 ; P5600-LABEL: name: srem_v4i32203 ; P5600: liveins: $a0, $a1, $a2204 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0205 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1206 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2207 ; P5600: [[LOAD:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load (<4 x s32>) from %ir.a)208 ; P5600: [[LOAD1:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load (<4 x s32>) from %ir.b)209 ; P5600: [[SREM:%[0-9]+]]:_(<4 x s32>) = G_SREM [[LOAD]], [[LOAD1]]210 ; P5600: G_STORE [[SREM]](<4 x s32>), [[COPY2]](p0) :: (store (<4 x s32>) into %ir.c)211 ; P5600: RetRA212 %0:_(p0) = COPY $a0213 %1:_(p0) = COPY $a1214 %2:_(p0) = COPY $a2215 %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load (<4 x s32>) from %ir.a)216 %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load (<4 x s32>) from %ir.b)217 %5:_(<4 x s32>) = G_SREM %3, %4218 G_STORE %5(<4 x s32>), %2(p0) :: (store (<4 x s32>) into %ir.c)219 RetRA220 221...222---223name: srem_v2i64224alignment: 4225tracksRegLiveness: true226body: |227 bb.1.entry:228 liveins: $a0, $a1, $a2229 230 ; P5600-LABEL: name: srem_v2i64231 ; P5600: liveins: $a0, $a1, $a2232 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0233 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1234 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2235 ; P5600: [[LOAD:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load (<2 x s64>) from %ir.a)236 ; P5600: [[LOAD1:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load (<2 x s64>) from %ir.b)237 ; P5600: [[SREM:%[0-9]+]]:_(<2 x s64>) = G_SREM [[LOAD]], [[LOAD1]]238 ; P5600: G_STORE [[SREM]](<2 x s64>), [[COPY2]](p0) :: (store (<2 x s64>) into %ir.c)239 ; P5600: RetRA240 %0:_(p0) = COPY $a0241 %1:_(p0) = COPY $a1242 %2:_(p0) = COPY $a2243 %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load (<2 x s64>) from %ir.a)244 %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load (<2 x s64>) from %ir.b)245 %5:_(<2 x s64>) = G_SREM %3, %4246 G_STORE %5(<2 x s64>), %2(p0) :: (store (<2 x s64>) into %ir.c)247 RetRA248 249...250---251name: udiv_v16u8252alignment: 4253tracksRegLiveness: true254body: |255 bb.1.entry:256 liveins: $a0, $a1, $a2257 258 ; P5600-LABEL: name: udiv_v16u8259 ; P5600: liveins: $a0, $a1, $a2260 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0261 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1262 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2263 ; P5600: [[LOAD:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load (<16 x s8>) from %ir.a)264 ; P5600: [[LOAD1:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load (<16 x s8>) from %ir.b)265 ; P5600: [[UDIV:%[0-9]+]]:_(<16 x s8>) = G_UDIV [[LOAD]], [[LOAD1]]266 ; P5600: G_STORE [[UDIV]](<16 x s8>), [[COPY2]](p0) :: (store (<16 x s8>) into %ir.c)267 ; P5600: RetRA268 %0:_(p0) = COPY $a0269 %1:_(p0) = COPY $a1270 %2:_(p0) = COPY $a2271 %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load (<16 x s8>) from %ir.a)272 %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load (<16 x s8>) from %ir.b)273 %5:_(<16 x s8>) = G_UDIV %3, %4274 G_STORE %5(<16 x s8>), %2(p0) :: (store (<16 x s8>) into %ir.c)275 RetRA276 277...278---279name: udiv_v8u16280alignment: 4281tracksRegLiveness: true282body: |283 bb.1.entry:284 liveins: $a0, $a1, $a2285 286 ; P5600-LABEL: name: udiv_v8u16287 ; P5600: liveins: $a0, $a1, $a2288 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0289 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1290 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2291 ; P5600: [[LOAD:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load (<8 x s16>) from %ir.a)292 ; P5600: [[LOAD1:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load (<8 x s16>) from %ir.b)293 ; P5600: [[UDIV:%[0-9]+]]:_(<8 x s16>) = G_UDIV [[LOAD]], [[LOAD1]]294 ; P5600: G_STORE [[UDIV]](<8 x s16>), [[COPY2]](p0) :: (store (<8 x s16>) into %ir.c)295 ; P5600: RetRA296 %0:_(p0) = COPY $a0297 %1:_(p0) = COPY $a1298 %2:_(p0) = COPY $a2299 %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load (<8 x s16>) from %ir.a)300 %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load (<8 x s16>) from %ir.b)301 %5:_(<8 x s16>) = G_UDIV %3, %4302 G_STORE %5(<8 x s16>), %2(p0) :: (store (<8 x s16>) into %ir.c)303 RetRA304 305...306---307name: udiv_v4u32308alignment: 4309tracksRegLiveness: true310body: |311 bb.1.entry:312 liveins: $a0, $a1, $a2313 314 ; P5600-LABEL: name: udiv_v4u32315 ; P5600: liveins: $a0, $a1, $a2316 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0317 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1318 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2319 ; P5600: [[LOAD:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load (<4 x s32>) from %ir.a)320 ; P5600: [[LOAD1:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load (<4 x s32>) from %ir.b)321 ; P5600: [[UDIV:%[0-9]+]]:_(<4 x s32>) = G_UDIV [[LOAD]], [[LOAD1]]322 ; P5600: G_STORE [[UDIV]](<4 x s32>), [[COPY2]](p0) :: (store (<4 x s32>) into %ir.c)323 ; P5600: RetRA324 %0:_(p0) = COPY $a0325 %1:_(p0) = COPY $a1326 %2:_(p0) = COPY $a2327 %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load (<4 x s32>) from %ir.a)328 %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load (<4 x s32>) from %ir.b)329 %5:_(<4 x s32>) = G_UDIV %3, %4330 G_STORE %5(<4 x s32>), %2(p0) :: (store (<4 x s32>) into %ir.c)331 RetRA332 333...334---335name: udiv_v2u64336alignment: 4337tracksRegLiveness: true338body: |339 bb.1.entry:340 liveins: $a0, $a1, $a2341 342 ; P5600-LABEL: name: udiv_v2u64343 ; P5600: liveins: $a0, $a1, $a2344 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0345 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1346 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2347 ; P5600: [[LOAD:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load (<2 x s64>) from %ir.a)348 ; P5600: [[LOAD1:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load (<2 x s64>) from %ir.b)349 ; P5600: [[UDIV:%[0-9]+]]:_(<2 x s64>) = G_UDIV [[LOAD]], [[LOAD1]]350 ; P5600: G_STORE [[UDIV]](<2 x s64>), [[COPY2]](p0) :: (store (<2 x s64>) into %ir.c)351 ; P5600: RetRA352 %0:_(p0) = COPY $a0353 %1:_(p0) = COPY $a1354 %2:_(p0) = COPY $a2355 %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load (<2 x s64>) from %ir.a)356 %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load (<2 x s64>) from %ir.b)357 %5:_(<2 x s64>) = G_UDIV %3, %4358 G_STORE %5(<2 x s64>), %2(p0) :: (store (<2 x s64>) into %ir.c)359 RetRA360 361...362---363name: urem_v16u8364alignment: 4365tracksRegLiveness: true366body: |367 bb.1.entry:368 liveins: $a0, $a1, $a2369 370 ; P5600-LABEL: name: urem_v16u8371 ; P5600: liveins: $a0, $a1, $a2372 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0373 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1374 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2375 ; P5600: [[LOAD:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load (<16 x s8>) from %ir.a)376 ; P5600: [[LOAD1:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load (<16 x s8>) from %ir.b)377 ; P5600: [[UREM:%[0-9]+]]:_(<16 x s8>) = G_UREM [[LOAD]], [[LOAD1]]378 ; P5600: G_STORE [[UREM]](<16 x s8>), [[COPY2]](p0) :: (store (<16 x s8>) into %ir.c)379 ; P5600: RetRA380 %0:_(p0) = COPY $a0381 %1:_(p0) = COPY $a1382 %2:_(p0) = COPY $a2383 %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load (<16 x s8>) from %ir.a)384 %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load (<16 x s8>) from %ir.b)385 %5:_(<16 x s8>) = G_UREM %3, %4386 G_STORE %5(<16 x s8>), %2(p0) :: (store (<16 x s8>) into %ir.c)387 RetRA388 389...390---391name: urem_v8u16392alignment: 4393tracksRegLiveness: true394body: |395 bb.1.entry:396 liveins: $a0, $a1, $a2397 398 ; P5600-LABEL: name: urem_v8u16399 ; P5600: liveins: $a0, $a1, $a2400 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0401 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1402 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2403 ; P5600: [[LOAD:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load (<8 x s16>) from %ir.a)404 ; P5600: [[LOAD1:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load (<8 x s16>) from %ir.b)405 ; P5600: [[UREM:%[0-9]+]]:_(<8 x s16>) = G_UREM [[LOAD]], [[LOAD1]]406 ; P5600: G_STORE [[UREM]](<8 x s16>), [[COPY2]](p0) :: (store (<8 x s16>) into %ir.c)407 ; P5600: RetRA408 %0:_(p0) = COPY $a0409 %1:_(p0) = COPY $a1410 %2:_(p0) = COPY $a2411 %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load (<8 x s16>) from %ir.a)412 %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load (<8 x s16>) from %ir.b)413 %5:_(<8 x s16>) = G_UREM %3, %4414 G_STORE %5(<8 x s16>), %2(p0) :: (store (<8 x s16>) into %ir.c)415 RetRA416 417...418---419name: urem_v4u32420alignment: 4421tracksRegLiveness: true422body: |423 bb.1.entry:424 liveins: $a0, $a1, $a2425 426 ; P5600-LABEL: name: urem_v4u32427 ; P5600: liveins: $a0, $a1, $a2428 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0429 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1430 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2431 ; P5600: [[LOAD:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load (<4 x s32>) from %ir.a)432 ; P5600: [[LOAD1:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load (<4 x s32>) from %ir.b)433 ; P5600: [[UREM:%[0-9]+]]:_(<4 x s32>) = G_UREM [[LOAD]], [[LOAD1]]434 ; P5600: G_STORE [[UREM]](<4 x s32>), [[COPY2]](p0) :: (store (<4 x s32>) into %ir.c)435 ; P5600: RetRA436 %0:_(p0) = COPY $a0437 %1:_(p0) = COPY $a1438 %2:_(p0) = COPY $a2439 %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load (<4 x s32>) from %ir.a)440 %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load (<4 x s32>) from %ir.b)441 %5:_(<4 x s32>) = G_UREM %3, %4442 G_STORE %5(<4 x s32>), %2(p0) :: (store (<4 x s32>) into %ir.c)443 RetRA444 445...446---447name: urem_v2u64448alignment: 4449tracksRegLiveness: true450body: |451 bb.1.entry:452 liveins: $a0, $a1, $a2453 454 ; P5600-LABEL: name: urem_v2u64455 ; P5600: liveins: $a0, $a1, $a2456 ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0457 ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1458 ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2459 ; P5600: [[LOAD:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load (<2 x s64>) from %ir.a)460 ; P5600: [[LOAD1:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load (<2 x s64>) from %ir.b)461 ; P5600: [[UREM:%[0-9]+]]:_(<2 x s64>) = G_UREM [[LOAD]], [[LOAD1]]462 ; P5600: G_STORE [[UREM]](<2 x s64>), [[COPY2]](p0) :: (store (<2 x s64>) into %ir.c)463 ; P5600: RetRA464 %0:_(p0) = COPY $a0465 %1:_(p0) = COPY $a1466 %2:_(p0) = COPY $a2467 %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load (<2 x s64>) from %ir.a)468 %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load (<2 x s64>) from %ir.b)469 %5:_(<2 x s64>) = G_UREM %3, %4470 G_STORE %5(<2 x s64>), %2(p0) :: (store (<2 x s64>) into %ir.c)471 RetRA472 473...474