# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -march=aarch64 -run-pass=legalizer %s -o - | FileCheck %s
---
name:            test_simple
body:             |
  ; CHECK-LABEL: name: test_simple
  ; CHECK: bb.0.entry:
  ; CHECK:   successors: %bb.1(0x80000000)
  ; CHECK:   [[COPY:%[0-9]+]]:_(s64) = COPY $x0
  ; CHECK:   [[TRUNC:%[0-9]+]]:_(s1) = G_TRUNC [[COPY]](s64)
  ; CHECK:   [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
  ; CHECK:   [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[COPY]](s64)
  ; CHECK:   [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[INTTOPTR]](p0)
  ; CHECK:   $x0 = COPY [[PTRTOINT]](s64)
  ; CHECK:   G_BRCOND [[TRUNC]](s1), %bb.1
  ; CHECK: bb.1:
  ; CHECK:   [[TRUNC2:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
  ; CHECK:   [[TRUNC3:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
  ; CHECK:   [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[TRUNC]](s1), [[TRUNC2]], [[TRUNC3]]
  ; CHECK:   [[COPY1:%[0-9]+]]:_(s32) = COPY [[SELECT]](s32)
  ; CHECK:   $w0 = COPY [[COPY1]](s32)
  ; CHECK:   [[TRUNC4:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
  ; CHECK:   [[TRUNC5:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
  ; CHECK:   [[SELECT1:%[0-9]+]]:_(s32) = G_SELECT [[TRUNC]](s1), [[TRUNC4]], [[TRUNC5]]
  ; CHECK:   [[COPY2:%[0-9]+]]:_(s32) = COPY [[SELECT1]](s32)
  ; CHECK:   $w0 = COPY [[COPY2]](s32)
  ; CHECK:   [[TRUNC6:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
  ; CHECK:   [[TRUNC7:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
  ; CHECK:   [[SELECT2:%[0-9]+]]:_(s32) = G_SELECT [[TRUNC]](s1), [[TRUNC6]], [[TRUNC7]]
  ; CHECK:   [[COPY3:%[0-9]+]]:_(s32) = COPY [[SELECT2]](s32)
  ; CHECK:   $w0 = COPY [[COPY3]](s32)
  ; CHECK:   [[SELECT3:%[0-9]+]]:_(s32) = G_SELECT [[TRUNC]](s1), [[TRUNC1]], [[TRUNC1]]
  ; CHECK:   [[SELECT4:%[0-9]+]]:_(s64) = G_SELECT [[TRUNC]](s1), [[COPY]], [[COPY]]
  ; CHECK:   $x0 = COPY [[SELECT4]](s64)
  ; CHECK:   [[BITCAST:%[0-9]+]]:_(<2 x s32>) = G_BITCAST [[COPY]](s64)
  ; CHECK:   [[BITCAST1:%[0-9]+]]:_(s64) = G_BITCAST [[BITCAST]](<2 x s32>)
  ; CHECK:   $x0 = COPY [[BITCAST1]](s64)
  ; CHECK:   [[BITCAST2:%[0-9]+]]:_(s32) = G_BITCAST [[SELECT3]](s32)
  ; CHECK:   $w0 = COPY [[BITCAST2]](s32)
  ; CHECK:   [[BITCAST3:%[0-9]+]]:_(<4 x s8>) = G_BITCAST [[COPY]](s64)
  ; CHECK:   [[BITCAST4:%[0-9]+]]:_(s32) = G_BITCAST [[BITCAST3]](<4 x s8>)
  ; CHECK:   $w0 = COPY [[BITCAST4]](s32)
  ; CHECK:   [[BITCAST5:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[COPY]](s64)
  ; CHECK:   [[BITCAST6:%[0-9]+]]:_(s32) = G_BITCAST [[BITCAST5]](<2 x s16>)
  ; CHECK:   $w0 = COPY [[BITCAST6]](s32)
  bb.0.entry:
    successors: %bb.1(0x80000000)

    %0:_(s64) = COPY $x0
    %1:_(s1) = G_TRUNC %0(s64)
    %2:_(s8) = G_TRUNC %0(s64)
    %3:_(s16) = G_TRUNC %0(s64)
    %4:_(s32) = G_TRUNC %0(s64)
    %5:_(p0) = G_INTTOPTR %0(s64)
    %6:_(s64) = G_PTRTOINT %5(p0)
    $x0 = COPY %6(s64)
    G_BRCOND %1(s1), %bb.1

  bb.1:
    %7:_(s1) = G_SELECT %1(s1), %1, %1
    %17:_(s32) = G_ANYEXT %7(s1)
    $w0 = COPY %17(s32)
    %8:_(s8) = G_SELECT %1(s1), %2, %2
    %18:_(s32) = G_ANYEXT %8(s8)
    $w0 = COPY %18(s32)
    %9:_(s16) = G_SELECT %1(s1), %3, %3
    %19:_(s32) = G_ANYEXT %9(s16)
    $w0 = COPY %19(s32)
    %10:_(s32) = G_SELECT %1(s1), %4, %4
    %11:_(s64) = G_SELECT %1(s1), %0, %0
    $x0 = COPY %11(s64)
    %12:_(<2 x s32>) = G_BITCAST %0(s64)
    %13:_(s64) = G_BITCAST %12(<2 x s32>)
    $x0 = COPY %13(s64)
    %14:_(s32) = G_BITCAST %10(s32)
    $w0 = COPY %14(s32)
    %15:_(<4 x s8>) = G_BITCAST %0(s64)
    %20:_(s32) = G_BITCAST %15(<4 x s8>)
    $w0 = COPY %20(s32)
    %16:_(<2 x s16>) = G_BITCAST %0(s64)
    %21:_(s32) = G_BITCAST %16(<2 x s16>)
    $w0 = COPY %21(s32)

...
---
name:            bitcast128
body:             |
  bb.0:
    liveins: $x0, $x1

    ; CHECK-LABEL: name: bitcast128
    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
    ; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1
    ; CHECK: [[MV:%[0-9]+]]:_(s128) = G_MERGE_VALUES [[COPY]](s64), [[COPY1]](s64)
    ; CHECK: [[BITCAST:%[0-9]+]]:_(<2 x s64>) = G_BITCAST [[MV]](s128)
    ; CHECK: $q0 = COPY [[BITCAST]](<2 x s64>)
    ; CHECK: RET_ReallyLR implicit $q0
    %0:_(s64) = COPY $x0
    %1:_(s64) = COPY $x1
    %3:_(s128) = G_MERGE_VALUES %0(s64), %1(s64)
    %2:_(<2 x s64>) = G_BITCAST %3(s128)
    $q0 = COPY %2(<2 x s64>)
    RET_ReallyLR implicit $q0

...
---
name:            testExtOfCopyOfTrunc
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: testExtOfCopyOfTrunc
    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
    ; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY [[COPY]](s64)
    ; CHECK: $x0 = COPY [[COPY1]](s64)
    ; CHECK: RET_ReallyLR implicit $x0
    %0:_(s64) = COPY $x0
    %1:_(s1) = G_TRUNC %0(s64)
    %2:_(s1) = COPY %1(s1)
    %3:_(s64) = G_ANYEXT %2(s1)
    $x0 = COPY %3(s64)
    RET_ReallyLR implicit $x0

...
---
name:            testExtOf2CopyOfTrunc
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: testExtOf2CopyOfTrunc
    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
    ; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY [[COPY]](s64)
    ; CHECK: $x0 = COPY [[COPY1]](s64)
    ; CHECK: RET_ReallyLR implicit $x0
    %0:_(s64) = COPY $x0
    %1:_(s1) = G_TRUNC %0(s64)
    %2:_(s1) = COPY %1(s1)
    %4:_(s1) = COPY %2(s1)
    %3:_(s64) = G_ANYEXT %4(s1)
    $x0 = COPY %3(s64)
    RET_ReallyLR implicit $x0

...
