# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=mipsel-linux-gnu -mcpu=mips32r5 -mattr=+msa,+fp64,+nan2008 -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=P5600
--- |

  define void @sdiv_v16i8(<16 x i8>* %a, <16 x i8>* %b, <16 x i8>* %c) { entry: ret void }
  define void @sdiv_v8i16(<8 x i16>* %a, <8 x i16>* %b, <8 x i16>* %c) { entry: ret void }
  define void @sdiv_v4i32(<4 x i32>* %a, <4 x i32>* %b, <4 x i32>* %c) { entry: ret void }
  define void @sdiv_v2i64(<2 x i64>* %a, <2 x i64>* %b, <2 x i64>* %c) { entry: ret void }

  define void @srem_v16i8(<16 x i8>* %a, <16 x i8>* %b, <16 x i8>* %c) { entry: ret void }
  define void @srem_v8i16(<8 x i16>* %a, <8 x i16>* %b, <8 x i16>* %c) { entry: ret void }
  define void @srem_v4i32(<4 x i32>* %a, <4 x i32>* %b, <4 x i32>* %c) { entry: ret void }
  define void @srem_v2i64(<2 x i64>* %a, <2 x i64>* %b, <2 x i64>* %c) { entry: ret void }

  define void @udiv_v16u8(<16 x i8>* %a, <16 x i8>* %b, <16 x i8>* %c) { entry: ret void }
  define void @udiv_v8u16(<8 x i16>* %a, <8 x i16>* %b, <8 x i16>* %c) { entry: ret void }
  define void @udiv_v4u32(<4 x i32>* %a, <4 x i32>* %b, <4 x i32>* %c) { entry: ret void }
  define void @udiv_v2u64(<2 x i64>* %a, <2 x i64>* %b, <2 x i64>* %c) { entry: ret void }

  define void @urem_v16u8(<16 x i8>* %a, <16 x i8>* %b, <16 x i8>* %c) { entry: ret void }
  define void @urem_v8u16(<8 x i16>* %a, <8 x i16>* %b, <8 x i16>* %c) { entry: ret void }
  define void @urem_v4u32(<4 x i32>* %a, <4 x i32>* %b, <4 x i32>* %c) { entry: ret void }
  define void @urem_v2u64(<2 x i64>* %a, <2 x i64>* %b, <2 x i64>* %c) { entry: ret void }

...
---
name:            sdiv_v16i8
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: sdiv_v16i8
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[SDIV:%[0-9]+]]:_(<16 x s8>) = G_SDIV [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[SDIV]](<16 x s8>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<16 x s8>) = G_SDIV %3, %4
    G_STORE %5(<16 x s8>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            sdiv_v8i16
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: sdiv_v8i16
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[SDIV:%[0-9]+]]:_(<8 x s16>) = G_SDIV [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[SDIV]](<8 x s16>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<8 x s16>) = G_SDIV %3, %4
    G_STORE %5(<8 x s16>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            sdiv_v4i32
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: sdiv_v4i32
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[SDIV:%[0-9]+]]:_(<4 x s32>) = G_SDIV [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[SDIV]](<4 x s32>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<4 x s32>) = G_SDIV %3, %4
    G_STORE %5(<4 x s32>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            sdiv_v2i64
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: sdiv_v2i64
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[SDIV:%[0-9]+]]:_(<2 x s64>) = G_SDIV [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[SDIV]](<2 x s64>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<2 x s64>) = G_SDIV %3, %4
    G_STORE %5(<2 x s64>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            srem_v16i8
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: srem_v16i8
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[SREM:%[0-9]+]]:_(<16 x s8>) = G_SREM [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[SREM]](<16 x s8>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<16 x s8>) = G_SREM %3, %4
    G_STORE %5(<16 x s8>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            srem_v8i16
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: srem_v8i16
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[SREM:%[0-9]+]]:_(<8 x s16>) = G_SREM [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[SREM]](<8 x s16>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<8 x s16>) = G_SREM %3, %4
    G_STORE %5(<8 x s16>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            srem_v4i32
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: srem_v4i32
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[SREM:%[0-9]+]]:_(<4 x s32>) = G_SREM [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[SREM]](<4 x s32>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<4 x s32>) = G_SREM %3, %4
    G_STORE %5(<4 x s32>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            srem_v2i64
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: srem_v2i64
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[SREM:%[0-9]+]]:_(<2 x s64>) = G_SREM [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[SREM]](<2 x s64>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<2 x s64>) = G_SREM %3, %4
    G_STORE %5(<2 x s64>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            udiv_v16u8
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: udiv_v16u8
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[UDIV:%[0-9]+]]:_(<16 x s8>) = G_UDIV [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[UDIV]](<16 x s8>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<16 x s8>) = G_UDIV %3, %4
    G_STORE %5(<16 x s8>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            udiv_v8u16
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: udiv_v8u16
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[UDIV:%[0-9]+]]:_(<8 x s16>) = G_UDIV [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[UDIV]](<8 x s16>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<8 x s16>) = G_UDIV %3, %4
    G_STORE %5(<8 x s16>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            udiv_v4u32
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: udiv_v4u32
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[UDIV:%[0-9]+]]:_(<4 x s32>) = G_UDIV [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[UDIV]](<4 x s32>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<4 x s32>) = G_UDIV %3, %4
    G_STORE %5(<4 x s32>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            udiv_v2u64
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: udiv_v2u64
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[UDIV:%[0-9]+]]:_(<2 x s64>) = G_UDIV [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[UDIV]](<2 x s64>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<2 x s64>) = G_UDIV %3, %4
    G_STORE %5(<2 x s64>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            urem_v16u8
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: urem_v16u8
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<16 x s8>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[UREM:%[0-9]+]]:_(<16 x s8>) = G_UREM [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[UREM]](<16 x s8>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<16 x s8>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<16 x s8>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<16 x s8>) = G_UREM %3, %4
    G_STORE %5(<16 x s8>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            urem_v8u16
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: urem_v8u16
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<8 x s16>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[UREM:%[0-9]+]]:_(<8 x s16>) = G_UREM [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[UREM]](<8 x s16>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<8 x s16>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<8 x s16>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<8 x s16>) = G_UREM %3, %4
    G_STORE %5(<8 x s16>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            urem_v4u32
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: urem_v4u32
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<4 x s32>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[UREM:%[0-9]+]]:_(<4 x s32>) = G_UREM [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[UREM]](<4 x s32>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<4 x s32>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<4 x s32>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<4 x s32>) = G_UREM %3, %4
    G_STORE %5(<4 x s32>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
---
name:            urem_v2u64
alignment:       4
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0, $a1, $a2

    ; P5600-LABEL: name: urem_v2u64
    ; P5600: liveins: $a0, $a1, $a2
    ; P5600: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; P5600: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; P5600: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; P5600: [[LOAD:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.a)
    ; P5600: [[LOAD1:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY1]](p0) :: (load 16 from %ir.b)
    ; P5600: [[UREM:%[0-9]+]]:_(<2 x s64>) = G_UREM [[LOAD]], [[LOAD1]]
    ; P5600: G_STORE [[UREM]](<2 x s64>), [[COPY2]](p0) :: (store 16 into %ir.c)
    ; P5600: RetRA
    %0:_(p0) = COPY $a0
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %3:_(<2 x s64>) = G_LOAD %0(p0) :: (load 16 from %ir.a)
    %4:_(<2 x s64>) = G_LOAD %1(p0) :: (load 16 from %ir.b)
    %5:_(<2 x s64>) = G_UREM %3, %4
    G_STORE %5(<2 x s64>), %2(p0) :: (store 16 into %ir.c)
    RetRA

...
