# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -march=aarch64 -run-pass=legalizer %s -o - -verify-machineinstrs | FileCheck %s
...
---
name:            test_extload
body: |
  bb.0.entry:
    liveins: $x0
    ; CHECK-LABEL: name: test_extload
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p0) :: (load (s8))
    ; CHECK: $w0 = COPY [[LOAD]](s32)
    %0:_(p0) = COPY $x0
    %1:_(s32) = G_LOAD %0 :: (load (s8))
    $w0 = COPY %1
...
---
name:            sext_i32_i64
body:             |
  bb.1:
    liveins: $x0

    ; CHECK-LABEL: name: sext_i32_i64
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s32))
    ; CHECK: $x0 = COPY [[SEXTLOAD]](s64)
    ; CHECK: RET_ReallyLR implicit $x0
    %0:_(p0) = COPY $x0
    %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s32))
    $x0 = COPY %2(s64)
    RET_ReallyLR implicit $x0

...
---
name:            sext_i16_i64
body:             |
  bb.1:
    liveins: $x0

    ; CHECK-LABEL: name: sext_i16_i64
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s16))
    ; CHECK: $x0 = COPY [[SEXTLOAD]](s64)
    ; CHECK: RET_ReallyLR implicit $x0
    %0:_(p0) = COPY $x0
    %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s16))
    $x0 = COPY %2(s64)
    RET_ReallyLR implicit $x0

...
---
name:            sext_i8_i64
body:             |
  bb.1:
    liveins: $x0

    ; CHECK-LABEL: name: sext_i8_i64
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s8))
    ; CHECK: $x0 = COPY [[SEXTLOAD]](s64)
    ; CHECK: RET_ReallyLR implicit $x0
    %0:_(p0) = COPY $x0
    %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s8))
    $x0 = COPY %2(s64)
    RET_ReallyLR implicit $x0

...
---
name:            zext_i32_i64
body:             |
  bb.1:
    liveins: $x0

    ; CHECK-LABEL: name: zext_i32_i64
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s32))
    ; CHECK: $x0 = COPY [[ZEXTLOAD]](s64)
    ; CHECK: RET_ReallyLR implicit $x0
    %0:_(p0) = COPY $x0
    %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s32))
    $x0 = COPY %2(s64)
    RET_ReallyLR implicit $x0

...
---
name:            zext_i16_i64
body:             |
  bb.1:
    liveins: $x0

    ; CHECK-LABEL: name: zext_i16_i64
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s16))
    ; CHECK: $x0 = COPY [[ZEXTLOAD]](s64)
    ; CHECK: RET_ReallyLR implicit $x0
    %0:_(p0) = COPY $x0
    %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s16))
    $x0 = COPY %2(s64)
    RET_ReallyLR implicit $x0

...
---
name:            zext_i8_i64
body:             |
  bb.1:
    liveins: $x0

    ; CHECK-LABEL: name: zext_i8_i64
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s8))
    ; CHECK: $x0 = COPY [[ZEXTLOAD]](s64)
    ; CHECK: RET_ReallyLR implicit $x0
    %0:_(p0) = COPY $x0
    %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s8))
    $x0 = COPY %2(s64)
    RET_ReallyLR implicit $x0

...
---
name:            zext_i8_i88
body:             |
  bb.1:
    liveins: $x0
    ; CHECK-LABEL: name: zext_i8_i88
    ; CHECK: %ptr:_(p0) = COPY $x0
    ; CHECK: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD %ptr(p0) :: (load (s8))
    ; CHECK: $x0 = COPY [[ZEXTLOAD]](s64)
    ; CHECK: RET_ReallyLR implicit $x0
    %ptr:_(p0) = COPY $x0
    %load:_(s88) = G_ZEXTLOAD %ptr(p0) :: (load (s8))
    %trunc:_(s64) = G_TRUNC %load
    $x0 = COPY %trunc(s64)
    RET_ReallyLR implicit $x0
...
...
---
name:            sext_i8_i88
body:             |
  bb.1:
    liveins: $x0
    ; CHECK-LABEL: name: sext_i8_i88
    ; CHECK: %ptr:_(p0) = COPY $x0
    ; CHECK: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD %ptr(p0) :: (load (s8))
    ; CHECK: $x0 = COPY [[SEXTLOAD]](s64)
    ; CHECK: RET_ReallyLR implicit $x0
    %ptr:_(p0) = COPY $x0
    %load:_(s88) = G_SEXTLOAD %ptr(p0) :: (load (s8))
    %trunc:_(s64) = G_TRUNC %load
    $x0 = COPY %trunc(s64)
    RET_ReallyLR implicit $x0
...
