# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple aarch64 -run-pass=aarch64-prelegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s

name:            right_ident_sub
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (x - 0) -> x
    ;
    ; CHECK-LABEL: name: right_ident_sub
    ; CHECK: liveins: $w0
    ; CHECK: %x:_(s32) = COPY $w0
    ; CHECK: $w0 = COPY %x(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_SUB %x(s32), %cst
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...
---
name:            right_ident_add
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (x + 0) -> x
    ;
    ; CHECK-LABEL: name: right_ident_add
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %x:_(s32) = COPY $w0
    ; CHECK-NEXT: $w0 = COPY %x(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_ADD %x(s32), %cst
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...
---
name:            mul_0
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (x * 0) -> 0
    ;
    ; CHECK-LABEL: name: mul_0
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK-NEXT: $w0 = COPY %cst(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_MUL %x(s32), %cst
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...

# FIXME: Probably should be able to replace this.
---
name:            mul_0_cant_replace
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (x * 0) -> 0
    ;
    ; CHECK-LABEL: name: mul_0_cant_replace
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %x:_(s32) = COPY $w0
    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK-NEXT: %op:gpr(s32) = G_MUL %x, %cst
    ; CHECK-NEXT: $w0 = COPY %op(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:gpr(s32) = G_MUL %x(s32), %cst
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...

---
name:            sdiv_0
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (0 / x) -> 0
    ;
    ; CHECK-LABEL: name: sdiv_0
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK-NEXT: $w0 = COPY %cst(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_SDIV %cst, %x
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...
---
name:            udiv_0
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (0 / x) -> 0
    ;
    ; CHECK-LABEL: name: udiv_0
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK-NEXT: $w0 = COPY %cst(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_UDIV %cst, %x
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...
---
name:            srem_0
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (0 % x) -> 0
    ;
    ; CHECK-LABEL: name: srem_0
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK-NEXT: $w0 = COPY %cst(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_SREM %cst, %x
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...
---
name:            urem_0
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (0 % x) -> 0
    ;
    ; CHECK-LABEL: name: urem_0
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK-NEXT: $w0 = COPY %cst(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_UREM %cst, %x
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...

---
name:            right_ident_or
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (x || 0) -> x
    ;
    ; CHECK-LABEL: name: right_ident_or
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %x:_(s32) = COPY $w0
    ; CHECK-NEXT: $w0 = COPY %x(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_OR %x(s32), %cst
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...
---
name:            right_ident_xor
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (x | 0) -> x
    ;
    ; CHECK-LABEL: name: right_ident_xor
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %x:_(s32) = COPY $w0
    ; CHECK-NEXT: $w0 = COPY %x(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_XOR %x(s32), %cst
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...
---
name:            right_ident_shl
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (x << 0) -> x
    ;
    ; CHECK-LABEL: name: right_ident_shl
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %x:_(s32) = COPY $w0
    ; CHECK-NEXT: $w0 = COPY %x(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_SHL %x(s32), %cst
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...
---
name:            right_ident_ashr
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (x ashr 0) -> x
    ;
    ; CHECK-LABEL: name: right_ident_ashr
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %x:_(s32) = COPY $w0
    ; CHECK-NEXT: $w0 = COPY %x(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_ASHR %x(s32), %cst
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...
---
name:            right_ident_lshr
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Fold (x lshr 0) -> x
    ;
    ; CHECK-LABEL: name: right_ident_lshr
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %x:_(s32) = COPY $w0
    ; CHECK-NEXT: $w0 = COPY %x(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 0
    %op:_(s32) = G_LSHR %x(s32), %cst
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...
---
name:            dont_fold_sub
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $w0
    ; Not an identity, no folding.
    ;
    ; CHECK-LABEL: name: dont_fold_sub
    ; CHECK: liveins: $w0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %x:_(s32) = COPY $w0
    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1
    ; CHECK-NEXT: %op:_(s32) = G_SUB %x, %cst
    ; CHECK-NEXT: $w0 = COPY %op(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %x:_(s32) = COPY $w0
    %cst:_(s32) = G_CONSTANT i32 1
    %op:_(s32) = G_SUB %x(s32), %cst
    $w0 = COPY %op(s32)
    RET_ReallyLR implicit $w0

...
---
name:            look_through_zext
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: look_through_zext
    ; CHECK: liveins: $x0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %zero:_(s8) = G_CONSTANT i8 0
    ; CHECK-NEXT: %zext_zero:_(s64) = G_ZEXT %zero(s8)
    ; CHECK-NEXT: $x0 = COPY %zext_zero(s64)
    ; CHECK-NEXT: RET_ReallyLR implicit $x0
    %zero:_(s8) = G_CONSTANT i8 0
    %zext_zero:_(s64) = G_ZEXT %zero(s8)
    %c:_(s64) = G_CONSTANT i64 72340172838076673
    %mul:_(s64) = G_MUL %c, %zext_zero
    $x0 = COPY %mul(s64)
    RET_ReallyLR implicit $x0
...
---
name:            right_ident_ptr_add
tracksRegLiveness: true
body:             |
  bb.1.entry:
    liveins: $x0
    ; Fold (x + 0) -> x
    ;
    ; CHECK-LABEL: name: right_ident_ptr_add
    ; CHECK: liveins: $x0
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %x:_(p0) = COPY $x0
    ; CHECK-NEXT: $x0 = COPY %x(p0)
    ; CHECK-NEXT: RET_ReallyLR implicit $x0
    %x:_(p0) = COPY $x0
    %cst:_(s64) = G_CONSTANT i64 0
    %op:_(p0) = G_PTR_ADD %x(p0), %cst
    $x0 = COPY %op(p0)
    RET_ReallyLR implicit $x0
...
---
name:            right_identity_rotl
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $w0, $w1
    ; CHECK-LABEL: name: right_identity_rotl
    ; CHECK: liveins: $w0, $w1
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %copy:_(s32) = COPY $w0
    ; CHECK-NEXT: $w0 = COPY %copy(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %copy:_(s32) = COPY $w0
    %zero:_(s32) = G_CONSTANT i32 0
    %rot:_(s32) = G_ROTL %copy(s32), %zero(s32)
    $w0 = COPY %rot(s32)
    RET_ReallyLR implicit $w0
...
...
---
name:            right_identity_rotr
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $w0, $w1
    ; CHECK-LABEL: name: right_identity_rotr
    ; CHECK: liveins: $w0, $w1
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: %copy:_(s32) = COPY $w0
    ; CHECK-NEXT: $w0 = COPY %copy(s32)
    ; CHECK-NEXT: RET_ReallyLR implicit $w0
    %copy:_(s32) = COPY $w0
    %zero:_(s32) = G_CONSTANT i32 0
    %rot:_(s32) = G_ROTR %copy(s32), %zero(s32)
    $w0 = COPY %rot(s32)
    RET_ReallyLR implicit $w0
...
---
name: lshr_of_vec_zero
body:             |
  bb.1:
  liveins: $q0
    ; CHECK-LABEL: name: lshr_of_vec_zero
    ; CHECK: [[COPY:%[0-9]+]]:_(<8 x s16>) = COPY $q0
    ; CHECK-NEXT: $q0 = COPY [[COPY]](<8 x s16>)
    ; CHECK-NEXT: RET_ReallyLR implicit $q0
    %0:_(<8 x s16>) = COPY $q0
    %5:_(s16) = G_CONSTANT i16 0
    %zero_vec:_(<8 x s16>) = G_BUILD_VECTOR %5(s16), %5(s16), %5(s16), %5(s16), %5(s16), %5(s16), %5(s16), %5(s16)
    %shift:_(<8 x s16>) = G_LSHR %0, %zero_vec(<8 x s16>)
    $q0 = COPY %shift(<8 x s16>)
    RET_ReallyLR implicit $q0
...
---
name: ptradd_of_vec_zero
body:             |
  bb.1:
  liveins: $q0
    ; CHECK-LABEL: name: ptradd_of_vec_zero
    ; CHECK: [[COPY:%[0-9]+]]:_(<2 x p0>) = COPY $q0
    ; CHECK-NEXT: $q0 = COPY [[COPY]](<2 x p0>)
    ; CHECK-NEXT: RET_ReallyLR implicit $q0
    %0:_(<2 x p0>) = COPY $q0
    %5:_(s64) = G_CONSTANT i64 0
    %zero_vec:_(<2 x s64>) = G_BUILD_VECTOR %5(s64), %5(s64)
    %ptr:_(<2 x p0>) = G_PTR_ADD %0, %zero_vec(<2 x s64>)
    $q0 = COPY %ptr(<2 x p0>)
    RET_ReallyLR implicit $q0
...
---
name:            i128_or_cst
liveins:
  - { reg: '$x0' }
body:             |
  bb.1:
    liveins: $x0

    ; CHECK-LABEL: name: i128_or_cst
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s128) = G_LOAD [[COPY]](p0) :: (load (s128))
    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s128) = G_CONSTANT i128 9223372036854775808
    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s128) = G_OR [[LOAD]], [[C]]
    ; CHECK-NEXT: G_STORE [[OR]](s128), [[COPY]](p0) :: (store (s128), align 4)
    ; CHECK-NEXT: RET_ReallyLR
    %0:_(p0) = COPY $x0
    %2:_(s128) = G_LOAD %0(p0) :: (load (s128))
    %4:_(s128) = G_CONSTANT i128 9223372036854775808
    %5:_(s128) = G_OR %2, %4
    G_STORE %5(s128), %0(p0) :: (store (s128), align 4)
    RET_ReallyLR

...
