# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -debugify-and-strip-all-safe -mtriple aarch64 -run-pass=aarch64-prelegalizer-combiner --aarch64prelegalizercombinerhelper-only-enable-rule="icmp_to_true_false_known_bits" -global-isel -verify-machineinstrs %s -o - | FileCheck %s
# REQUIRES: asserts

--- |
  define i1 @eq_true(i32* %ptr) { unreachable }
  define i1 @ne_true(i32* %ptr) { unreachable }
  define i1 @sge_true(i32* %ptr) { unreachable }
  define i1 @sgt_true(i32* %ptr) { unreachable }
  define i1 @sle_true(i32* %ptr) { unreachable }
  define i1 @slt_true(i32* %ptr) { unreachable }
  define i1 @uge_true(i32* %ptr) { unreachable }
  define i1 @ugt_true(i32* %ptr) { unreachable }
  define i1 @ule_true(i32* %ptr) { unreachable }
  define i1 @ult_true(i32* %ptr) { unreachable }

  define i1 @eq_false(i32* %ptr) { unreachable }
  define i1 @ne_false(i32* %ptr) { unreachable }
  define i1 @sge_false(i32* %ptr) { unreachable }
  define i1 @sgt_false(i32* %ptr) { unreachable }
  define i1 @sle_false(i32* %ptr) { unreachable }
  define i1 @slt_false(i32* %ptr) { unreachable }
  define i1 @uge_false(i32* %ptr) { unreachable }
  define i1 @ugt_false(i32* %ptr) { unreachable }
  define i1 @ule_false(i32* %ptr) { unreachable }
  define i1 @ult_false(i32* %ptr) { unreachable }

  define i1 @eq_unknown(i32* %ptr) { unreachable }
  define i1 @ne_unknown(i32* %ptr) { unreachable }

  define i1 @vector_true(i32* %ptr) { unreachable }
  define i1 @vector_false(i32* %ptr) { unreachable }

  !0 = !{i32 1, i32 2}
  !1 = !{i32 1, i32 3}

...
---
name:            eq_true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: eq_true
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 true
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 1
    %cmp:_(s1) = G_ICMP intpred(eq), %cst(s32), %cst
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            ne_true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: ne_true
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 true
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst_1:_(s32) = G_CONSTANT i32 1
    %cst_2:_(s32) = G_CONSTANT i32 2
    %cmp:_(s1) = G_ICMP intpred(ne), %cst_1(s32), %cst_2
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            sge_true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: sge_true
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 true
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 2
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(sge), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            sgt_true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: sgt_true
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 true
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 3
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(sgt), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            sle_true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: sle_true
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 true
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 1
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(sle), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0


...
---
name:            slt_true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: slt_true
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 true
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 -1
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(slt), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            uge_true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: uge_true
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 true
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 2
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(uge), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            ugt_true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: ugt_true
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 true
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 -1
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(ugt), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            ule_true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: ule_true
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 true
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 1
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(ule), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            ult_true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: ult_true
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 true
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 0
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(ule), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            eq_false
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: eq_false
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 false
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 0
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(eq), %load_eq_1(s32), %cst
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            ne_false
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: ne_false
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 false
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst_1:_(s32) = G_CONSTANT i32 1
    %cst_2:_(s32) = G_CONSTANT i32 1
    %cmp:_(s1) = G_ICMP intpred(ne), %cst_1(s32), %cst_2
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            sge_false
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: sge_false
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 false
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 -1
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(sge), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            sgt_false
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: sgt_false
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 false
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 1
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(sgt), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            sle_false
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: sle_false
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 false
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 3
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(sle), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0


...
---
name:            slt_false
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: slt_false
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 false
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 2
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(slt), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            uge_false
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: uge_false
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 false
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 0
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(uge), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            ugt_false
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: ugt_false
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 false
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 1
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(ugt), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            ule_false
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: ule_false
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 false
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 -1
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(ule), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            ult_false
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: ult_false
    ; CHECK: liveins: $x0
    ; CHECK: %cmp:_(s1) = G_CONSTANT i1 false
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 2
    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)
    %cmp:_(s1) = G_ICMP intpred(ule), %cst, %load_eq_1(s32)
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            eq_unknown
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: eq_unknown
    ; CHECK: liveins: $x0
    ; CHECK: %ptr:_(p0) = COPY $x0
    ; CHECK: %cst:_(s32) = G_CONSTANT i32 1
    ; CHECK: %load_between_1_2:_(s32) = G_LOAD %ptr(p0) :: (load (s32),
    ; CHECK: %cmp:_(s1) = G_ICMP intpred(eq), %load_between_1_2(s32), %cst
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 1
    %load_between_1_2:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !1)
    %cmp:_(s1) = G_ICMP intpred(eq), %load_between_1_2(s32), %cst
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            ne_unknown
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0

    ; CHECK-LABEL: name: ne_unknown
    ; CHECK: liveins: $x0
    ; CHECK: %ptr:_(p0) = COPY $x0
    ; CHECK: %cst:_(s32) = G_CONSTANT i32 1
    ; CHECK: %load_between_1_2:_(s32) = G_LOAD %ptr(p0) :: (load (s32),
    ; CHECK: %cmp:_(s1) = G_ICMP intpred(ne), %load_between_1_2(s32), %cst
    ; CHECK: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    ; CHECK: $w0 = COPY %cmp_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 1
    %load_between_1_2:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !1)
    %cmp:_(s1) = G_ICMP intpred(ne), %load_between_1_2(s32), %cst
    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)
    $w0 = COPY %cmp_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            vector_true
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: vector_true
    ; CHECK: liveins: $x0
    ; CHECK: %cst:_(s32) = G_CONSTANT i32 1
    ; CHECK: [[C:%[0-9]+]]:_(s1) = G_CONSTANT i1 true
    ; CHECK: %cmp:_(<2 x s1>) = G_BUILD_VECTOR [[C]](s1), [[C]](s1)
    ; CHECK: %extract:_(s1) = G_EXTRACT_VECTOR_ELT %cmp(<2 x s1>), %cst(s32)
    ; CHECK: %extract_ext:_(s32) = G_ZEXT %extract(s1)
    ; CHECK: $w0 = COPY %extract_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 1
    %bv:_(<2 x s32>) = G_BUILD_VECTOR %cst, %cst
    %cmp:_(<2 x s1>) = G_ICMP intpred(eq), %bv(<2 x s32>), %bv
    %extract:_(s1) = G_EXTRACT_VECTOR_ELT %cmp(<2 x s1>), %cst(s32)
    %extract_ext:_(s32) = G_ZEXT %extract(s1)
    $w0 = COPY %extract_ext(s32)
    RET_ReallyLR implicit $w0

...
---
name:            vector_false
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0
    ; CHECK-LABEL: name: vector_false
    ; CHECK: liveins: $x0
    ; CHECK: %cst:_(s32) = G_CONSTANT i32 1
    ; CHECK: [[C:%[0-9]+]]:_(s1) = G_CONSTANT i1 false
    ; CHECK: %cmp:_(<2 x s1>) = G_BUILD_VECTOR [[C]](s1), [[C]](s1)
    ; CHECK: %extract:_(s1) = G_EXTRACT_VECTOR_ELT %cmp(<2 x s1>), %cst(s32)
    ; CHECK: %extract_ext:_(s32) = G_ZEXT %extract(s1)
    ; CHECK: $w0 = COPY %extract_ext(s32)
    ; CHECK: RET_ReallyLR implicit $w0
    %ptr:_(p0) = COPY $x0
    %cst:_(s32) = G_CONSTANT i32 1
    %bv:_(<2 x s32>) = G_BUILD_VECTOR %cst, %cst
    %cmp:_(<2 x s1>) = G_ICMP intpred(ne), %bv(<2 x s32>), %bv
    %extract:_(s1) = G_EXTRACT_VECTOR_ELT %cmp(<2 x s1>), %cst(s32)
    %extract_ext:_(s32) = G_ZEXT %extract(s1)
    $w0 = COPY %extract_ext(s32)
    RET_ReallyLR implicit $w0
