# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -O0 -march=aarch64 -run-pass=legalizer -global-isel-abort=1 %s -o - | FileCheck %s
---
name:            test_icmp
body:             |
  bb.0.entry:
    ; CHECK-LABEL: name: test_icmp
    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
    ; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $x0
    ; CHECK: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sge), [[COPY]](s64), [[COPY1]]
    ; CHECK: $w0 = COPY [[ICMP]](s32)
    ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
    ; CHECK: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)
    ; CHECK: [[AND:%[0-9]+]]:_(s32) = G_AND [[TRUNC]], [[C]]
    ; CHECK: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[COPY1]](s64)
    ; CHECK: [[AND1:%[0-9]+]]:_(s32) = G_AND [[TRUNC1]], [[C]]
    ; CHECK: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[AND]](s32), [[AND1]]
    ; CHECK: $w0 = COPY [[ICMP1]](s32)
    ; CHECK: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[COPY]](s64)
    ; CHECK: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[INTTOPTR]](p0), [[INTTOPTR]]
    ; CHECK: $w0 = COPY [[ICMP2]](s32)
    %0:_(s64) = COPY $x0
    %1:_(s64) = COPY $x0
    %2:_(s8) = G_TRUNC %0(s64)
    %3:_(s8) = G_TRUNC %1(s64)
    %4:_(s1) = G_ICMP intpred(sge), %0(s64), %1
    %11:_(s32) = G_ANYEXT %4(s1)
    $w0 = COPY %11(s32)
    %8:_(s1) = G_ICMP intpred(ult), %2(s8), %3
    %12:_(s32) = G_ANYEXT %8(s1)
    $w0 = COPY %12(s32)
    %9:_(p0) = G_INTTOPTR %0(s64)
    %10:_(s1) = G_ICMP intpred(eq), %9(p0), %9
    %14:_(s32) = G_ANYEXT %10(s1)
    $w0 = COPY %14(s32)

...
---
name:            test_s128
alignment:       4
tracksRegLiveness: true
body:             |
  ; CHECK-LABEL: name: test_s128
  ; CHECK: bb.0:
  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK:   [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
  ; CHECK:   [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0
  ; CHECK:   [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 4294967296
  ; CHECK:   [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[DEF]](s64), [[C1]]
  ; CHECK:   [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[DEF]](s64), [[C1]]
  ; CHECK:   [[TRUNC:%[0-9]+]]:_(s1) = G_TRUNC [[ICMP1]](s32)
  ; CHECK:   [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[DEF]](s64), [[C]]
  ; CHECK:   [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[TRUNC]](s1), [[ICMP2]], [[ICMP]]
  ; CHECK:   [[TRUNC1:%[0-9]+]]:_(s1) = G_TRUNC [[SELECT]](s32)
  ; CHECK:   G_BRCOND [[TRUNC1]](s1), %bb.1
  ; CHECK:   G_BR %bb.2
  ; CHECK: bb.1:
  ; CHECK:   successors:
  ; CHECK: bb.2:
  ; CHECK:   RET_ReallyLR
  bb.1:
    %0:_(s128) = G_IMPLICIT_DEF
    %1:_(s128) = G_CONSTANT i128 79228162514264337593543950336
    %3:_(s1) = G_CONSTANT i1 true
    %2:_(s1) = G_ICMP intpred(ult), %0(s128), %1
    G_BRCOND %2(s1), %bb.2
    G_BR %bb.3

  bb.2:
    successors:


  bb.3:
    RET_ReallyLR

...
---
name:            test_s128_eq
tracksRegLiveness: true
body:             |
  ; CHECK-LABEL: name: test_s128_eq
  ; CHECK: bb.0:
  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK:   [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
  ; CHECK:   [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0
  ; CHECK:   [[XOR:%[0-9]+]]:_(s64) = G_XOR [[DEF]], [[DEF]]
  ; CHECK:   [[XOR1:%[0-9]+]]:_(s64) = G_XOR [[DEF]], [[DEF]]
  ; CHECK:   [[OR:%[0-9]+]]:_(s64) = G_OR [[XOR]], [[XOR1]]
  ; CHECK:   [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[OR]](s64), [[C]]
  ; CHECK:   %cmp:_(s1) = G_TRUNC [[ICMP]](s32)
  ; CHECK:   G_BRCOND %cmp(s1), %bb.1
  ; CHECK:   G_BR %bb.2
  ; CHECK: bb.1:
  ; CHECK:   successors:
  ; CHECK: bb.2:
  ; CHECK:   RET_ReallyLR
  bb.1:
    %lhs:_(s128) = G_IMPLICIT_DEF
    %rhs:_(s128) = G_IMPLICIT_DEF
    %cmp:_(s1) = G_ICMP intpred(eq), %lhs(s128), %rhs
    G_BRCOND %cmp(s1), %bb.2
    G_BR %bb.3
  bb.2:
    successors:
  bb.3:
    RET_ReallyLR

...
---
name:            test_s88_eq
tracksRegLiveness: true
body:             |
  ; CHECK-LABEL: name: test_s88_eq
  ; CHECK: bb.0:
  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK:   [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
  ; CHECK:   [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -1
  ; CHECK:   [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 16777215
  ; CHECK:   [[AND:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C]]
  ; CHECK:   [[AND1:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C1]]
  ; CHECK:   [[AND2:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C]]
  ; CHECK:   [[AND3:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C1]]
  ; CHECK:   [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 0
  ; CHECK:   [[XOR:%[0-9]+]]:_(s64) = G_XOR [[AND]], [[AND2]]
  ; CHECK:   [[XOR1:%[0-9]+]]:_(s64) = G_XOR [[AND1]], [[AND3]]
  ; CHECK:   [[OR:%[0-9]+]]:_(s64) = G_OR [[XOR]], [[XOR1]]
  ; CHECK:   [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[OR]](s64), [[C2]]
  ; CHECK:   %cmp:_(s1) = G_TRUNC [[ICMP]](s32)
  ; CHECK:   G_BRCOND %cmp(s1), %bb.1
  ; CHECK:   G_BR %bb.2
  ; CHECK: bb.1:
  ; CHECK:   successors:
  ; CHECK: bb.2:
  ; CHECK:   RET_ReallyLR
  bb.1:
    %lhs:_(s88) = G_IMPLICIT_DEF
    %rhs:_(s88) = G_IMPLICIT_DEF
    %cmp:_(s1) = G_ICMP intpred(eq), %lhs(s88), %rhs
    G_BRCOND %cmp(s1), %bb.2
    G_BR %bb.3
  bb.2:
    successors:
  bb.3:
    RET_ReallyLR

...
---
name:            test_s88_ne
tracksRegLiveness: true
body:             |
  ; CHECK-LABEL: name: test_s88_ne
  ; CHECK: bb.0:
  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK:   [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
  ; CHECK:   [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -1
  ; CHECK:   [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 16777215
  ; CHECK:   [[AND:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C]]
  ; CHECK:   [[AND1:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C1]]
  ; CHECK:   [[AND2:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C]]
  ; CHECK:   [[AND3:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C1]]
  ; CHECK:   [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 0
  ; CHECK:   [[XOR:%[0-9]+]]:_(s64) = G_XOR [[AND]], [[AND2]]
  ; CHECK:   [[XOR1:%[0-9]+]]:_(s64) = G_XOR [[AND1]], [[AND3]]
  ; CHECK:   [[OR:%[0-9]+]]:_(s64) = G_OR [[XOR]], [[XOR1]]
  ; CHECK:   [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[OR]](s64), [[C2]]
  ; CHECK:   %cmp:_(s1) = G_TRUNC [[ICMP]](s32)
  ; CHECK:   G_BRCOND %cmp(s1), %bb.1
  ; CHECK:   G_BR %bb.2
  ; CHECK: bb.1:
  ; CHECK:   successors:
  ; CHECK: bb.2:
  ; CHECK:   RET_ReallyLR
  bb.1:
    %lhs:_(s88) = G_IMPLICIT_DEF
    %rhs:_(s88) = G_IMPLICIT_DEF
    %cmp:_(s1) = G_ICMP intpred(ne), %lhs(s88), %rhs
    G_BRCOND %cmp(s1), %bb.2
    G_BR %bb.3
  bb.2:
    successors:
  bb.3:
    RET_ReallyLR

...
---
name:            test_s96_eq
tracksRegLiveness: true
body:             |
  ; CHECK-LABEL: name: test_s96_eq
  ; CHECK: bb.0:
  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK:   [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
  ; CHECK:   [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -1
  ; CHECK:   [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 4294967295
  ; CHECK:   [[AND:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C]]
  ; CHECK:   [[AND1:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C1]]
  ; CHECK:   [[AND2:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C]]
  ; CHECK:   [[AND3:%[0-9]+]]:_(s64) = G_AND [[DEF]], [[C1]]
  ; CHECK:   [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 0
  ; CHECK:   [[XOR:%[0-9]+]]:_(s64) = G_XOR [[AND]], [[AND2]]
  ; CHECK:   [[XOR1:%[0-9]+]]:_(s64) = G_XOR [[AND1]], [[AND3]]
  ; CHECK:   [[OR:%[0-9]+]]:_(s64) = G_OR [[XOR]], [[XOR1]]
  ; CHECK:   [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[OR]](s64), [[C2]]
  ; CHECK:   %cmp:_(s1) = G_TRUNC [[ICMP]](s32)
  ; CHECK:   G_BRCOND %cmp(s1), %bb.1
  ; CHECK:   G_BR %bb.2
  ; CHECK: bb.1:
  ; CHECK:   successors:
  ; CHECK: bb.2:
  ; CHECK:   RET_ReallyLR
  bb.1:
    %lhs:_(s96) = G_IMPLICIT_DEF
    %rhs:_(s96) = G_IMPLICIT_DEF
    %cmp:_(s1) = G_ICMP intpred(eq), %lhs(s96), %rhs
    G_BRCOND %cmp(s1), %bb.2
    G_BR %bb.3
  bb.2:
    successors:
  bb.3:
    RET_ReallyLR
