# 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: %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_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: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK: $w0 = COPY %cst(s32)
    ; CHECK: 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: %x:_(s32) = COPY $w0
    ; CHECK: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK: %op:gpr(s32) = G_MUL %x, %cst
    ; CHECK: $w0 = COPY %op(s32)
    ; CHECK: 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: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK: $w0 = COPY %cst(s32)
    ; CHECK: 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: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK: $w0 = COPY %cst(s32)
    ; CHECK: 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: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK: $w0 = COPY %cst(s32)
    ; CHECK: 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: %cst:_(s32) = G_CONSTANT i32 0
    ; CHECK: $w0 = COPY %cst(s32)
    ; CHECK: 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: %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_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: %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_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: %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_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: %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_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: %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_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: %x:_(s32) = COPY $w0
    ; CHECK: %cst:_(s32) = G_CONSTANT i32 1
    ; CHECK: %op:_(s32) = G_SUB %x, %cst
    ; CHECK: $w0 = COPY %op(s32)
    ; CHECK: 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: %zero:_(s8) = G_CONSTANT i8 0
    ; CHECK: %zext_zero:_(s64) = G_ZEXT %zero(s8)
    ; CHECK: $x0 = COPY %zext_zero(s64)
    ; CHECK: 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
...
