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

  define i32 @test_i32(i1 %cnd, i32 %a, i32 %b) {
  entry:
    br i1 %cnd, label %cond.true, label %cond.false

  cond.true:                                        ; preds = %entry
    br label %cond.end

  cond.false:                                       ; preds = %entry
    br label %cond.end

  cond.end:                                         ; preds = %cond.false, %cond.true
    %cond = phi i32 [ %a, %cond.true ], [ %b, %cond.false ]
    ret i32 %cond
  }

...
---
name:            test_i32
alignment:       2
legalized:       true
regBankSelected: true
tracksRegLiveness: true
body:             |
  ; MIPS32-LABEL: name: test_i32
  ; MIPS32: bb.0.entry:
  ; MIPS32:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; MIPS32:   liveins: $a0, $a1, $a2
  ; MIPS32:   [[COPY:%[0-9]+]]:gpr32 = COPY $a0
  ; MIPS32:   [[COPY1:%[0-9]+]]:gpr32 = COPY $a1
  ; MIPS32:   [[COPY2:%[0-9]+]]:gpr32 = COPY $a2
  ; MIPS32:   [[ORi:%[0-9]+]]:gpr32 = ORi $zero, 1
  ; MIPS32:   [[AND:%[0-9]+]]:gpr32 = AND [[COPY]], [[ORi]]
  ; MIPS32:   BNE [[AND]], $zero, %bb.1, implicit-def $at
  ; MIPS32:   J %bb.2, implicit-def $at
  ; MIPS32: bb.1.cond.true:
  ; MIPS32:   successors: %bb.3(0x80000000)
  ; MIPS32:   J %bb.3, implicit-def $at
  ; MIPS32: bb.2.cond.false:
  ; MIPS32:   successors: %bb.3(0x80000000)
  ; MIPS32: bb.3.cond.end:
  ; MIPS32:   [[PHI:%[0-9]+]]:gpr32 = PHI [[COPY1]], %bb.1, [[COPY2]], %bb.2
  ; MIPS32:   $v0 = COPY [[PHI]]
  ; MIPS32:   RetRA implicit $v0
  bb.1.entry:
    liveins: $a0, $a1, $a2

    %3:gprb(s32) = COPY $a0
    %1:gprb(s32) = COPY $a1
    %2:gprb(s32) = COPY $a2
    %6:gprb(s32) = G_CONSTANT i32 1
    %7:gprb(s32) = COPY %3(s32)
    %5:gprb(s32) = G_AND %7, %6
    G_BRCOND %5(s32), %bb.2
    G_BR %bb.3

  bb.2.cond.true:
    G_BR %bb.4

  bb.3.cond.false:

  bb.4.cond.end:
    %4:gprb(s32) = G_PHI %1(s32), %bb.2, %2(s32), %bb.3
    $v0 = COPY %4(s32)
    RetRA implicit $v0

...
