# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS32
--- |

  define void @load1_s8_to_zextLoad1_s32(i8* %px) {entry: ret void}
  define void @load2_s16_to_zextLoad2_s32(i16* %px) {entry: ret void}
  define void @load1_s8_to_zextLoad1_s16(i8* %px) {entry: ret void}
  define void @load1_s8_to_zextLoad1_s16_to_zextLoad1_s32(i8* %px) {entry: ret void}
  define void @load1_s8_to_sextLoad1_s32(i8* %px) {entry: ret void}
  define void @load2_s16_to_sextLoad2_s32(i16* %px) {entry: ret void}
  define void @load1_s8_to_sextLoad1_s16(i8* %px) {entry: ret void}
  define void @load1_s8_to_sextLoad1_s16_to_sextLoad1_s32(i8* %px) {entry: ret void}

...
---
name:            load1_s8_to_zextLoad1_s32
alignment:       2
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0

    ; MIPS32-LABEL: name: load1_s8_to_zextLoad1_s32
    ; MIPS32: liveins: $a0
    ; MIPS32: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; MIPS32: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p0) :: (load 1 from %ir.px)
    ; MIPS32: $v0 = COPY [[ZEXTLOAD]](s32)
    ; MIPS32: RetRA implicit $v0
    %0:_(p0) = COPY $a0
    %2:_(s32) = G_ZEXTLOAD %0(p0) :: (load 1 from %ir.px)
    $v0 = COPY %2(s32)
    RetRA implicit $v0

...
---
name:            load2_s16_to_zextLoad2_s32
alignment:       2
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0

    ; MIPS32-LABEL: name: load2_s16_to_zextLoad2_s32
    ; MIPS32: liveins: $a0
    ; MIPS32: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; MIPS32: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p0) :: (load 2 from %ir.px)
    ; MIPS32: $v0 = COPY [[ZEXTLOAD]](s32)
    ; MIPS32: RetRA implicit $v0
    %0:_(p0) = COPY $a0
    %2:_(s32) = G_ZEXTLOAD %0(p0) :: (load 2 from %ir.px)
    $v0 = COPY %2(s32)
    RetRA implicit $v0

...
---
name:            load1_s8_to_zextLoad1_s16
alignment:       2
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0

    ; MIPS32-LABEL: name: load1_s8_to_zextLoad1_s16
    ; MIPS32: liveins: $a0
    ; MIPS32: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; MIPS32: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p0) :: (load 1 from %ir.px)
    ; MIPS32: [[COPY1:%[0-9]+]]:_(s32) = COPY [[ZEXTLOAD]](s32)
    ; MIPS32: $v0 = COPY [[COPY1]](s32)
    ; MIPS32: RetRA implicit $v0
    %0:_(p0) = COPY $a0
    %2:_(s16) = G_ZEXTLOAD %0(p0) :: (load 1 from %ir.px)
    %3:_(s32) = G_ANYEXT %2(s16)
    $v0 = COPY %3(s32)
    RetRA implicit $v0

...
---
name:            load1_s8_to_zextLoad1_s16_to_zextLoad1_s32
alignment:       2
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0

    ; MIPS32-LABEL: name: load1_s8_to_zextLoad1_s16_to_zextLoad1_s32
    ; MIPS32: liveins: $a0
    ; MIPS32: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; MIPS32: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p0) :: (load 1 from %ir.px)
    ; MIPS32: $v0 = COPY [[ZEXTLOAD]](s32)
    ; MIPS32: RetRA implicit $v0
    %0:_(p0) = COPY $a0
    %3:_(s32) = G_ZEXTLOAD %0(p0) :: (load 1 from %ir.px)
    $v0 = COPY %3(s32)
    RetRA implicit $v0

...
---
name:            load1_s8_to_sextLoad1_s32
alignment:       2
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0

    ; MIPS32-LABEL: name: load1_s8_to_sextLoad1_s32
    ; MIPS32: liveins: $a0
    ; MIPS32: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; MIPS32: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p0) :: (load 1 from %ir.px)
    ; MIPS32: $v0 = COPY [[SEXTLOAD]](s32)
    ; MIPS32: RetRA implicit $v0
    %0:_(p0) = COPY $a0
    %2:_(s32) = G_SEXTLOAD %0(p0) :: (load 1 from %ir.px)
    $v0 = COPY %2(s32)
    RetRA implicit $v0

...
---
name:            load2_s16_to_sextLoad2_s32
alignment:       2
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0

    ; MIPS32-LABEL: name: load2_s16_to_sextLoad2_s32
    ; MIPS32: liveins: $a0
    ; MIPS32: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; MIPS32: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p0) :: (load 2 from %ir.px)
    ; MIPS32: $v0 = COPY [[SEXTLOAD]](s32)
    ; MIPS32: RetRA implicit $v0
    %0:_(p0) = COPY $a0
    %2:_(s32) = G_SEXTLOAD %0(p0) :: (load 2 from %ir.px)
    $v0 = COPY %2(s32)
    RetRA implicit $v0

...
---
name:            load1_s8_to_sextLoad1_s16
alignment:       2
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0

    ; MIPS32-LABEL: name: load1_s8_to_sextLoad1_s16
    ; MIPS32: liveins: $a0
    ; MIPS32: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; MIPS32: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p0) :: (load 1 from %ir.px)
    ; MIPS32: [[COPY1:%[0-9]+]]:_(s32) = COPY [[SEXTLOAD]](s32)
    ; MIPS32: $v0 = COPY [[COPY1]](s32)
    ; MIPS32: RetRA implicit $v0
    %0:_(p0) = COPY $a0
    %2:_(s16) = G_SEXTLOAD %0(p0) :: (load 1 from %ir.px)
    %3:_(s32) = G_ANYEXT %2(s16)
    $v0 = COPY %3(s32)
    RetRA implicit $v0

...
---
name:            load1_s8_to_sextLoad1_s16_to_sextLoad1_s32
alignment:       2
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $a0

    ; MIPS32-LABEL: name: load1_s8_to_sextLoad1_s16_to_sextLoad1_s32
    ; MIPS32: liveins: $a0
    ; MIPS32: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
    ; MIPS32: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p0) :: (load 1 from %ir.px)
    ; MIPS32: $v0 = COPY [[SEXTLOAD]](s32)
    ; MIPS32: RetRA implicit $v0
    %0:_(p0) = COPY $a0
    %3:_(s32) = G_SEXTLOAD %0(p0) :: (load 1 from %ir.px)
    $v0 = COPY %3(s32)
    RetRA implicit $v0

...
