# 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 @select_i8() {entry: ret void}
  define void @select_i16() {entry: ret void}
  define void @select_i32() {entry: ret void}
  define void @select_ptr() {entry: ret void}
  define void @select_with_negation() {entry: ret void}
  define void @select_i64() {entry: ret void}
  define void @select_float() {entry: ret void}
  define void @select_double() {entry: ret void}

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

    ; MIPS32-LABEL: name: select_i8
    ; MIPS32: liveins: $a0, $a1, $a2
    ; MIPS32-NEXT: {{  $}}
    ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0
    ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1
    ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2
    ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
    ; MIPS32-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
    ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[AND]](s32), [[COPY1]], [[COPY2]]
    ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)
    ; MIPS32-NEXT: RetRA implicit $v0
    %3:_(s32) = COPY $a0
    %0:_(s1) = G_TRUNC %3(s32)
    %4:_(s32) = COPY $a1
    %1:_(s8) = G_TRUNC %4(s32)
    %5:_(s32) = COPY $a2
    %2:_(s8) = G_TRUNC %5(s32)
    %6:_(s8) = G_SELECT %0(s1), %1, %2
    %7:_(s32) = G_ANYEXT %6(s8)
    $v0 = COPY %7(s32)
    RetRA implicit $v0

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

    ; MIPS32-LABEL: name: select_i16
    ; MIPS32: liveins: $a0, $a1, $a2
    ; MIPS32-NEXT: {{  $}}
    ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0
    ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1
    ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2
    ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
    ; MIPS32-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
    ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[AND]](s32), [[COPY1]], [[COPY2]]
    ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)
    ; MIPS32-NEXT: RetRA implicit $v0
    %3:_(s32) = COPY $a0
    %0:_(s1) = G_TRUNC %3(s32)
    %4:_(s32) = COPY $a1
    %1:_(s16) = G_TRUNC %4(s32)
    %5:_(s32) = COPY $a2
    %2:_(s16) = G_TRUNC %5(s32)
    %6:_(s16) = G_SELECT %0(s1), %1, %2
    %7:_(s32) = G_ANYEXT %6(s16)
    $v0 = COPY %7(s32)
    RetRA implicit $v0

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

    ; MIPS32-LABEL: name: select_i32
    ; MIPS32: liveins: $a0, $a1, $a2
    ; MIPS32-NEXT: {{  $}}
    ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0
    ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1
    ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2
    ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
    ; MIPS32-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
    ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[AND]](s32), [[COPY1]], [[COPY2]]
    ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)
    ; MIPS32-NEXT: RetRA implicit $v0
    %3:_(s32) = COPY $a0
    %0:_(s1) = G_TRUNC %3(s32)
    %1:_(s32) = COPY $a1
    %2:_(s32) = COPY $a2
    %4:_(s32) = G_SELECT %0(s1), %1, %2
    $v0 = COPY %4(s32)
    RetRA implicit $v0

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

    ; MIPS32-LABEL: name: select_ptr
    ; MIPS32: liveins: $a0, $a1, $a2
    ; MIPS32-NEXT: {{  $}}
    ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0
    ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $a1
    ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(p0) = COPY $a2
    ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
    ; MIPS32-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
    ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(p0) = G_SELECT [[AND]](s32), [[COPY1]], [[COPY2]]
    ; MIPS32-NEXT: $v0 = COPY [[SELECT]](p0)
    ; MIPS32-NEXT: RetRA implicit $v0
    %3:_(s32) = COPY $a0
    %0:_(s1) = G_TRUNC %3(s32)
    %1:_(p0) = COPY $a1
    %2:_(p0) = COPY $a2
    %4:_(p0) = G_SELECT %0(s1), %1, %2
    $v0 = COPY %4(p0)
    RetRA implicit $v0

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

    ; MIPS32-LABEL: name: select_with_negation
    ; MIPS32: liveins: $a0, $a1, $a2, $a3
    ; MIPS32-NEXT: {{  $}}
    ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0
    ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1
    ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2
    ; MIPS32-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $a3
    ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
    ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[COPY]](s32), [[COPY1]]
    ; MIPS32-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR [[ICMP]], [[C]]
    ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[XOR]](s32), [[COPY2]], [[COPY3]]
    ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)
    ; MIPS32-NEXT: RetRA implicit $v0
    %0:_(s32) = COPY $a0
    %1:_(s32) = COPY $a1
    %2:_(s32) = COPY $a2
    %3:_(s32) = COPY $a3
    %5:_(s1) = G_CONSTANT i1 true
    %4:_(s1) = G_ICMP intpred(slt), %0(s32), %1
    %6:_(s1) = G_XOR %4, %5
    %7:_(s32) = G_SELECT %6(s1), %2, %3
    $v0 = COPY %7(s32)
    RetRA implicit $v0

...
---
name:            select_i64
alignment:       4
tracksRegLiveness: true
fixedStack:
  - { id: 0, offset: 20, size: 4, alignment: 4, isImmutable: true }
  - { id: 1, offset: 16, size: 4, alignment: 8, isImmutable: true }
body:             |
  bb.1.entry:
    liveins: $a0, $a2, $a3

    ; MIPS32-LABEL: name: select_i64
    ; MIPS32: liveins: $a0, $a2, $a3
    ; MIPS32-NEXT: {{  $}}
    ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0
    ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a2
    ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a3
    ; MIPS32-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[COPY1]](s32), [[COPY2]](s32)
    ; MIPS32-NEXT: [[FRAME_INDEX:%[0-9]+]]:_(p0) = G_FRAME_INDEX %fixed-stack.0
    ; MIPS32-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[FRAME_INDEX]](p0) :: (load (s32) from %fixed-stack.0, align 8)
    ; MIPS32-NEXT: [[FRAME_INDEX1:%[0-9]+]]:_(p0) = G_FRAME_INDEX %fixed-stack.1
    ; MIPS32-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[FRAME_INDEX1]](p0) :: (load (s32) from %fixed-stack.1)
    ; MIPS32-NEXT: [[MV1:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[LOAD]](s32), [[LOAD1]](s32)
    ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
    ; MIPS32-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
    ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[AND]](s32), [[MV]], [[MV1]]
    ; MIPS32-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[SELECT]](s64)
    ; MIPS32-NEXT: $v0 = COPY [[UV]](s32)
    ; MIPS32-NEXT: $v1 = COPY [[UV1]](s32)
    ; MIPS32-NEXT: RetRA implicit $v0, implicit $v1
    %3:_(s32) = COPY $a0
    %0:_(s1) = G_TRUNC %3(s32)
    %4:_(s32) = COPY $a2
    %5:_(s32) = COPY $a3
    %1:_(s64) = G_MERGE_VALUES %4(s32), %5(s32)
    %8:_(p0) = G_FRAME_INDEX %fixed-stack.1
    %6:_(s32) = G_LOAD %8(p0) :: (load (s32) from %fixed-stack.1, align 8)
    %9:_(p0) = G_FRAME_INDEX %fixed-stack.0
    %7:_(s32) = G_LOAD %9(p0) :: (load (s32) from %fixed-stack.0)
    %2:_(s64) = G_MERGE_VALUES %6(s32), %7(s32)
    %10:_(s64) = G_SELECT %0(s1), %1, %2
    %11:_(s32), %12:_(s32) = G_UNMERGE_VALUES %10(s64)
    $v0 = COPY %11(s32)
    $v1 = COPY %12(s32)
    RetRA implicit $v0, implicit $v1

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

    ; MIPS32-LABEL: name: select_float
    ; MIPS32: liveins: $a0, $a1, $a2
    ; MIPS32-NEXT: {{  $}}
    ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0
    ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1
    ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2
    ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
    ; MIPS32-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
    ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[AND]](s32), [[COPY1]], [[COPY2]]
    ; MIPS32-NEXT: $f0 = COPY [[SELECT]](s32)
    ; MIPS32-NEXT: RetRA implicit $f0
    %3:_(s32) = COPY $a0
    %0:_(s1) = G_TRUNC %3(s32)
    %1:_(s32) = COPY $a1
    %2:_(s32) = COPY $a2
    %4:_(s32) = G_SELECT %0(s1), %1, %2
    $f0 = COPY %4(s32)
    RetRA implicit $f0

...
---
name:            select_double
alignment:       4
tracksRegLiveness: true
fixedStack:
  - { id: 0, offset: 16, size: 4, alignment: 8, isImmutable: true }
body:             |
  bb.1.entry:
    liveins: $d6, $d7

    ; MIPS32-LABEL: name: select_double
    ; MIPS32: liveins: $d6, $d7
    ; MIPS32-NEXT: {{  $}}
    ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $d6
    ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $d7
    ; MIPS32-NEXT: [[FRAME_INDEX:%[0-9]+]]:_(p0) = G_FRAME_INDEX %fixed-stack.0
    ; MIPS32-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[FRAME_INDEX]](p0) :: (load (s32) from %fixed-stack.0, align 8)
    ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
    ; MIPS32-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[LOAD]], [[C]]
    ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[AND]](s32), [[COPY]], [[COPY1]]
    ; MIPS32-NEXT: $d0 = COPY [[SELECT]](s64)
    ; MIPS32-NEXT: RetRA implicit $d0
    %0:_(s64) = COPY $d6
    %1:_(s64) = COPY $d7
    %4:_(p0) = G_FRAME_INDEX %fixed-stack.0
    %3:_(s32) = G_LOAD %4(p0) :: (load (s32) from %fixed-stack.0, align 8)
    %2:_(s1) = G_TRUNC %3(s32)
    %5:_(s64) = G_SELECT %2(s1), %0, %1
    $d0 = COPY %5(s64)
    RetRA implicit $d0

...
