490 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=regbankselect -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: 429legalized: true30tracksRegLiveness: true31body: |32 bb.1.entry:33 liveins: $a0, $a1, $a234 35 ; P5600-LABEL: name: sdiv_v16i836 ; P5600: liveins: $a0, $a1, $a237 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a038 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a139 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a240 ; P5600: [[LOAD:%[0-9]+]]:fprb(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load (<16 x s8>) from %ir.a)41 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load (<16 x s8>) from %ir.b)42 ; P5600: [[SDIV:%[0-9]+]]:fprb(<16 x s8>) = G_SDIV [[LOAD]], [[LOAD1]]43 ; P5600: G_STORE [[SDIV]](<16 x s8>), [[COPY2]](p0) :: (store (<16 x s8>) into %ir.c)44 ; P5600: RetRA45 %0:_(p0) = COPY $a046 %1:_(p0) = COPY $a147 %2:_(p0) = COPY $a248 %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load (<16 x s8>) from %ir.a)49 %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load (<16 x s8>) from %ir.b)50 %5:_(<16 x s8>) = G_SDIV %3, %451 G_STORE %5(<16 x s8>), %2(p0) :: (store (<16 x s8>) into %ir.c)52 RetRA53 54...55---56name: sdiv_v8i1657alignment: 458legalized: true59tracksRegLiveness: true60body: |61 bb.1.entry:62 liveins: $a0, $a1, $a263 64 ; P5600-LABEL: name: sdiv_v8i1665 ; P5600: liveins: $a0, $a1, $a266 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a067 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a168 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a269 ; P5600: [[LOAD:%[0-9]+]]:fprb(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load (<8 x s16>) from %ir.a)70 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load (<8 x s16>) from %ir.b)71 ; P5600: [[SDIV:%[0-9]+]]:fprb(<8 x s16>) = G_SDIV [[LOAD]], [[LOAD1]]72 ; P5600: G_STORE [[SDIV]](<8 x s16>), [[COPY2]](p0) :: (store (<8 x s16>) into %ir.c)73 ; P5600: RetRA74 %0:_(p0) = COPY $a075 %1:_(p0) = COPY $a176 %2:_(p0) = COPY $a277 %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load (<8 x s16>) from %ir.a)78 %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load (<8 x s16>) from %ir.b)79 %5:_(<8 x s16>) = G_SDIV %3, %480 G_STORE %5(<8 x s16>), %2(p0) :: (store (<8 x s16>) into %ir.c)81 RetRA82 83...84---85name: sdiv_v4i3286alignment: 487legalized: true88tracksRegLiveness: true89body: |90 bb.1.entry:91 liveins: $a0, $a1, $a292 93 ; P5600-LABEL: name: sdiv_v4i3294 ; P5600: liveins: $a0, $a1, $a295 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a096 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a197 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a298 ; P5600: [[LOAD:%[0-9]+]]:fprb(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load (<4 x s32>) from %ir.a)99 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load (<4 x s32>) from %ir.b)100 ; P5600: [[SDIV:%[0-9]+]]:fprb(<4 x s32>) = G_SDIV [[LOAD]], [[LOAD1]]101 ; P5600: G_STORE [[SDIV]](<4 x s32>), [[COPY2]](p0) :: (store (<4 x s32>) into %ir.c)102 ; P5600: RetRA103 %0:_(p0) = COPY $a0104 %1:_(p0) = COPY $a1105 %2:_(p0) = COPY $a2106 %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load (<4 x s32>) from %ir.a)107 %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load (<4 x s32>) from %ir.b)108 %5:_(<4 x s32>) = G_SDIV %3, %4109 G_STORE %5(<4 x s32>), %2(p0) :: (store (<4 x s32>) into %ir.c)110 RetRA111 112...113---114name: sdiv_v2i64115alignment: 4116legalized: true117tracksRegLiveness: true118body: |119 bb.1.entry:120 liveins: $a0, $a1, $a2121 122 ; P5600-LABEL: name: sdiv_v2i64123 ; P5600: liveins: $a0, $a1, $a2124 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0125 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1126 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2127 ; P5600: [[LOAD:%[0-9]+]]:fprb(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load (<2 x s64>) from %ir.a)128 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load (<2 x s64>) from %ir.b)129 ; P5600: [[SDIV:%[0-9]+]]:fprb(<2 x s64>) = G_SDIV [[LOAD]], [[LOAD1]]130 ; P5600: G_STORE [[SDIV]](<2 x s64>), [[COPY2]](p0) :: (store (<2 x s64>) into %ir.c)131 ; P5600: RetRA132 %0:_(p0) = COPY $a0133 %1:_(p0) = COPY $a1134 %2:_(p0) = COPY $a2135 %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load (<2 x s64>) from %ir.a)136 %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load (<2 x s64>) from %ir.b)137 %5:_(<2 x s64>) = G_SDIV %3, %4138 G_STORE %5(<2 x s64>), %2(p0) :: (store (<2 x s64>) into %ir.c)139 RetRA140 141...142---143name: srem_v16i8144alignment: 4145legalized: true146tracksRegLiveness: true147body: |148 bb.1.entry:149 liveins: $a0, $a1, $a2150 151 ; P5600-LABEL: name: srem_v16i8152 ; P5600: liveins: $a0, $a1, $a2153 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0154 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1155 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2156 ; P5600: [[LOAD:%[0-9]+]]:fprb(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load (<16 x s8>) from %ir.a)157 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load (<16 x s8>) from %ir.b)158 ; P5600: [[SREM:%[0-9]+]]:fprb(<16 x s8>) = G_SREM [[LOAD]], [[LOAD1]]159 ; P5600: G_STORE [[SREM]](<16 x s8>), [[COPY2]](p0) :: (store (<16 x s8>) into %ir.c)160 ; P5600: RetRA161 %0:_(p0) = COPY $a0162 %1:_(p0) = COPY $a1163 %2:_(p0) = COPY $a2164 %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load (<16 x s8>) from %ir.a)165 %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load (<16 x s8>) from %ir.b)166 %5:_(<16 x s8>) = G_SREM %3, %4167 G_STORE %5(<16 x s8>), %2(p0) :: (store (<16 x s8>) into %ir.c)168 RetRA169 170...171---172name: srem_v8i16173alignment: 4174legalized: true175tracksRegLiveness: true176body: |177 bb.1.entry:178 liveins: $a0, $a1, $a2179 180 ; P5600-LABEL: name: srem_v8i16181 ; P5600: liveins: $a0, $a1, $a2182 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0183 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1184 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2185 ; P5600: [[LOAD:%[0-9]+]]:fprb(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load (<8 x s16>) from %ir.a)186 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load (<8 x s16>) from %ir.b)187 ; P5600: [[SREM:%[0-9]+]]:fprb(<8 x s16>) = G_SREM [[LOAD]], [[LOAD1]]188 ; P5600: G_STORE [[SREM]](<8 x s16>), [[COPY2]](p0) :: (store (<8 x s16>) into %ir.c)189 ; P5600: RetRA190 %0:_(p0) = COPY $a0191 %1:_(p0) = COPY $a1192 %2:_(p0) = COPY $a2193 %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load (<8 x s16>) from %ir.a)194 %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load (<8 x s16>) from %ir.b)195 %5:_(<8 x s16>) = G_SREM %3, %4196 G_STORE %5(<8 x s16>), %2(p0) :: (store (<8 x s16>) into %ir.c)197 RetRA198 199...200---201name: srem_v4i32202alignment: 4203legalized: true204tracksRegLiveness: true205body: |206 bb.1.entry:207 liveins: $a0, $a1, $a2208 209 ; P5600-LABEL: name: srem_v4i32210 ; P5600: liveins: $a0, $a1, $a2211 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0212 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1213 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2214 ; P5600: [[LOAD:%[0-9]+]]:fprb(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load (<4 x s32>) from %ir.a)215 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load (<4 x s32>) from %ir.b)216 ; P5600: [[SREM:%[0-9]+]]:fprb(<4 x s32>) = G_SREM [[LOAD]], [[LOAD1]]217 ; P5600: G_STORE [[SREM]](<4 x s32>), [[COPY2]](p0) :: (store (<4 x s32>) into %ir.c)218 ; P5600: RetRA219 %0:_(p0) = COPY $a0220 %1:_(p0) = COPY $a1221 %2:_(p0) = COPY $a2222 %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load (<4 x s32>) from %ir.a)223 %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load (<4 x s32>) from %ir.b)224 %5:_(<4 x s32>) = G_SREM %3, %4225 G_STORE %5(<4 x s32>), %2(p0) :: (store (<4 x s32>) into %ir.c)226 RetRA227 228...229---230name: srem_v2i64231alignment: 4232legalized: true233tracksRegLiveness: true234body: |235 bb.1.entry:236 liveins: $a0, $a1, $a2237 238 ; P5600-LABEL: name: srem_v2i64239 ; P5600: liveins: $a0, $a1, $a2240 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0241 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1242 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2243 ; P5600: [[LOAD:%[0-9]+]]:fprb(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load (<2 x s64>) from %ir.a)244 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load (<2 x s64>) from %ir.b)245 ; P5600: [[SREM:%[0-9]+]]:fprb(<2 x s64>) = G_SREM [[LOAD]], [[LOAD1]]246 ; P5600: G_STORE [[SREM]](<2 x s64>), [[COPY2]](p0) :: (store (<2 x s64>) into %ir.c)247 ; P5600: RetRA248 %0:_(p0) = COPY $a0249 %1:_(p0) = COPY $a1250 %2:_(p0) = COPY $a2251 %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load (<2 x s64>) from %ir.a)252 %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load (<2 x s64>) from %ir.b)253 %5:_(<2 x s64>) = G_SREM %3, %4254 G_STORE %5(<2 x s64>), %2(p0) :: (store (<2 x s64>) into %ir.c)255 RetRA256 257...258---259name: udiv_v16u8260alignment: 4261legalized: true262tracksRegLiveness: true263body: |264 bb.1.entry:265 liveins: $a0, $a1, $a2266 267 ; P5600-LABEL: name: udiv_v16u8268 ; P5600: liveins: $a0, $a1, $a2269 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0270 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1271 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2272 ; P5600: [[LOAD:%[0-9]+]]:fprb(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load (<16 x s8>) from %ir.a)273 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load (<16 x s8>) from %ir.b)274 ; P5600: [[UDIV:%[0-9]+]]:fprb(<16 x s8>) = G_UDIV [[LOAD]], [[LOAD1]]275 ; P5600: G_STORE [[UDIV]](<16 x s8>), [[COPY2]](p0) :: (store (<16 x s8>) into %ir.c)276 ; P5600: RetRA277 %0:_(p0) = COPY $a0278 %1:_(p0) = COPY $a1279 %2:_(p0) = COPY $a2280 %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load (<16 x s8>) from %ir.a)281 %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load (<16 x s8>) from %ir.b)282 %5:_(<16 x s8>) = G_UDIV %3, %4283 G_STORE %5(<16 x s8>), %2(p0) :: (store (<16 x s8>) into %ir.c)284 RetRA285 286...287---288name: udiv_v8u16289alignment: 4290legalized: true291tracksRegLiveness: true292body: |293 bb.1.entry:294 liveins: $a0, $a1, $a2295 296 ; P5600-LABEL: name: udiv_v8u16297 ; P5600: liveins: $a0, $a1, $a2298 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0299 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1300 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2301 ; P5600: [[LOAD:%[0-9]+]]:fprb(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load (<8 x s16>) from %ir.a)302 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load (<8 x s16>) from %ir.b)303 ; P5600: [[UDIV:%[0-9]+]]:fprb(<8 x s16>) = G_UDIV [[LOAD]], [[LOAD1]]304 ; P5600: G_STORE [[UDIV]](<8 x s16>), [[COPY2]](p0) :: (store (<8 x s16>) into %ir.c)305 ; P5600: RetRA306 %0:_(p0) = COPY $a0307 %1:_(p0) = COPY $a1308 %2:_(p0) = COPY $a2309 %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load (<8 x s16>) from %ir.a)310 %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load (<8 x s16>) from %ir.b)311 %5:_(<8 x s16>) = G_UDIV %3, %4312 G_STORE %5(<8 x s16>), %2(p0) :: (store (<8 x s16>) into %ir.c)313 RetRA314 315...316---317name: udiv_v4u32318alignment: 4319legalized: true320tracksRegLiveness: true321body: |322 bb.1.entry:323 liveins: $a0, $a1, $a2324 325 ; P5600-LABEL: name: udiv_v4u32326 ; P5600: liveins: $a0, $a1, $a2327 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0328 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1329 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2330 ; P5600: [[LOAD:%[0-9]+]]:fprb(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load (<4 x s32>) from %ir.a)331 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load (<4 x s32>) from %ir.b)332 ; P5600: [[UDIV:%[0-9]+]]:fprb(<4 x s32>) = G_UDIV [[LOAD]], [[LOAD1]]333 ; P5600: G_STORE [[UDIV]](<4 x s32>), [[COPY2]](p0) :: (store (<4 x s32>) into %ir.c)334 ; P5600: RetRA335 %0:_(p0) = COPY $a0336 %1:_(p0) = COPY $a1337 %2:_(p0) = COPY $a2338 %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load (<4 x s32>) from %ir.a)339 %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load (<4 x s32>) from %ir.b)340 %5:_(<4 x s32>) = G_UDIV %3, %4341 G_STORE %5(<4 x s32>), %2(p0) :: (store (<4 x s32>) into %ir.c)342 RetRA343 344...345---346name: udiv_v2u64347alignment: 4348legalized: true349tracksRegLiveness: true350body: |351 bb.1.entry:352 liveins: $a0, $a1, $a2353 354 ; P5600-LABEL: name: udiv_v2u64355 ; P5600: liveins: $a0, $a1, $a2356 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0357 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1358 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2359 ; P5600: [[LOAD:%[0-9]+]]:fprb(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load (<2 x s64>) from %ir.a)360 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load (<2 x s64>) from %ir.b)361 ; P5600: [[UDIV:%[0-9]+]]:fprb(<2 x s64>) = G_UDIV [[LOAD]], [[LOAD1]]362 ; P5600: G_STORE [[UDIV]](<2 x s64>), [[COPY2]](p0) :: (store (<2 x s64>) into %ir.c)363 ; P5600: RetRA364 %0:_(p0) = COPY $a0365 %1:_(p0) = COPY $a1366 %2:_(p0) = COPY $a2367 %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load (<2 x s64>) from %ir.a)368 %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load (<2 x s64>) from %ir.b)369 %5:_(<2 x s64>) = G_UDIV %3, %4370 G_STORE %5(<2 x s64>), %2(p0) :: (store (<2 x s64>) into %ir.c)371 RetRA372 373...374---375name: urem_v16u8376alignment: 4377legalized: true378tracksRegLiveness: true379body: |380 bb.1.entry:381 liveins: $a0, $a1, $a2382 383 ; P5600-LABEL: name: urem_v16u8384 ; P5600: liveins: $a0, $a1, $a2385 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0386 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1387 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2388 ; P5600: [[LOAD:%[0-9]+]]:fprb(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load (<16 x s8>) from %ir.a)389 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load (<16 x s8>) from %ir.b)390 ; P5600: [[UREM:%[0-9]+]]:fprb(<16 x s8>) = G_UREM [[LOAD]], [[LOAD1]]391 ; P5600: G_STORE [[UREM]](<16 x s8>), [[COPY2]](p0) :: (store (<16 x s8>) into %ir.c)392 ; P5600: RetRA393 %0:_(p0) = COPY $a0394 %1:_(p0) = COPY $a1395 %2:_(p0) = COPY $a2396 %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load (<16 x s8>) from %ir.a)397 %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load (<16 x s8>) from %ir.b)398 %5:_(<16 x s8>) = G_UREM %3, %4399 G_STORE %5(<16 x s8>), %2(p0) :: (store (<16 x s8>) into %ir.c)400 RetRA401 402...403---404name: urem_v8u16405alignment: 4406legalized: true407tracksRegLiveness: true408body: |409 bb.1.entry:410 liveins: $a0, $a1, $a2411 412 ; P5600-LABEL: name: urem_v8u16413 ; P5600: liveins: $a0, $a1, $a2414 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0415 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1416 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2417 ; P5600: [[LOAD:%[0-9]+]]:fprb(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load (<8 x s16>) from %ir.a)418 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load (<8 x s16>) from %ir.b)419 ; P5600: [[UREM:%[0-9]+]]:fprb(<8 x s16>) = G_UREM [[LOAD]], [[LOAD1]]420 ; P5600: G_STORE [[UREM]](<8 x s16>), [[COPY2]](p0) :: (store (<8 x s16>) into %ir.c)421 ; P5600: RetRA422 %0:_(p0) = COPY $a0423 %1:_(p0) = COPY $a1424 %2:_(p0) = COPY $a2425 %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load (<8 x s16>) from %ir.a)426 %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load (<8 x s16>) from %ir.b)427 %5:_(<8 x s16>) = G_UREM %3, %4428 G_STORE %5(<8 x s16>), %2(p0) :: (store (<8 x s16>) into %ir.c)429 RetRA430 431...432---433name: urem_v4u32434alignment: 4435legalized: true436tracksRegLiveness: true437body: |438 bb.1.entry:439 liveins: $a0, $a1, $a2440 441 ; P5600-LABEL: name: urem_v4u32442 ; P5600: liveins: $a0, $a1, $a2443 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0444 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1445 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2446 ; P5600: [[LOAD:%[0-9]+]]:fprb(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load (<4 x s32>) from %ir.a)447 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load (<4 x s32>) from %ir.b)448 ; P5600: [[UREM:%[0-9]+]]:fprb(<4 x s32>) = G_UREM [[LOAD]], [[LOAD1]]449 ; P5600: G_STORE [[UREM]](<4 x s32>), [[COPY2]](p0) :: (store (<4 x s32>) into %ir.c)450 ; P5600: RetRA451 %0:_(p0) = COPY $a0452 %1:_(p0) = COPY $a1453 %2:_(p0) = COPY $a2454 %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load (<4 x s32>) from %ir.a)455 %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load (<4 x s32>) from %ir.b)456 %5:_(<4 x s32>) = G_UREM %3, %4457 G_STORE %5(<4 x s32>), %2(p0) :: (store (<4 x s32>) into %ir.c)458 RetRA459 460...461---462name: urem_v2u64463alignment: 4464legalized: true465tracksRegLiveness: true466body: |467 bb.1.entry:468 liveins: $a0, $a1, $a2469 470 ; P5600-LABEL: name: urem_v2u64471 ; P5600: liveins: $a0, $a1, $a2472 ; P5600: [[COPY:%[0-9]+]]:gprb(p0) = COPY $a0473 ; P5600: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $a1474 ; P5600: [[COPY2:%[0-9]+]]:gprb(p0) = COPY $a2475 ; P5600: [[LOAD:%[0-9]+]]:fprb(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load (<2 x s64>) from %ir.a)476 ; P5600: [[LOAD1:%[0-9]+]]:fprb(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load (<2 x s64>) from %ir.b)477 ; P5600: [[UREM:%[0-9]+]]:fprb(<2 x s64>) = G_UREM [[LOAD]], [[LOAD1]]478 ; P5600: G_STORE [[UREM]](<2 x s64>), [[COPY2]](p0) :: (store (<2 x s64>) into %ir.c)479 ; P5600: RetRA480 %0:_(p0) = COPY $a0481 %1:_(p0) = COPY $a1482 %2:_(p0) = COPY $a2483 %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load (<2 x s64>) from %ir.a)484 %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load (<2 x s64>) from %ir.b)485 %5:_(<2 x s64>) = G_UREM %3, %4486 G_STORE %5(<2 x s64>), %2(p0) :: (store (<2 x s64>) into %ir.c)487 RetRA488 489...490