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

--- |
  ; ModuleID = 'icmp-autogen-tests-with-ne.ll'
  source_filename = "icmp-autogen-tests-with-ne.ll"
  target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
  target triple = "aarch64"

  define <2 x i1> @test_v2i64_eq(<2 x i64> %v1, <2 x i64> %v2) {
    %cmp = icmp eq <2 x i64> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <4 x i1> @test_v4i32_eq(<4 x i32> %v1, <4 x i32> %v2) {
    %cmp = icmp eq <4 x i32> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <2 x i1> @test_v2i32_eq(<2 x i32> %v1, <2 x i32> %v2) {
    %cmp = icmp eq <2 x i32> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <2 x i1> @test_v2i16_eq(<2 x i16> %v1, <2 x i16> %v2) {
    %cmp = icmp eq <2 x i16> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <8 x i1> @test_v8i16_eq(<8 x i16> %v1, <8 x i16> %v2) {
    %cmp = icmp eq <8 x i16> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <4 x i1> @test_v4i16_eq(<4 x i16> %v1, <4 x i16> %v2) {
    %cmp = icmp eq <4 x i16> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <16 x i1> @test_v16i8_eq(<16 x i8> %v1, <16 x i8> %v2) {
    %cmp = icmp eq <16 x i8> %v1, %v2
    ret <16 x i1> %cmp
  }

  define <8 x i1> @test_v8i8_eq(<8 x i8> %v1, <8 x i8> %v2) {
    %cmp = icmp eq <8 x i8> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <2 x i1> @test_v2i64_ne(<2 x i64> %v1, <2 x i64> %v2) {
    %cmp = icmp ne <2 x i64> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <4 x i1> @test_v4i32_ne(<4 x i32> %v1, <4 x i32> %v2) {
    %cmp = icmp ne <4 x i32> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <2 x i1> @test_v2i32_ne(<2 x i32> %v1, <2 x i32> %v2) {
    %cmp = icmp ne <2 x i32> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <2 x i1> @test_v2i16_ne(<2 x i16> %v1, <2 x i16> %v2) {
    %cmp = icmp ne <2 x i16> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <8 x i1> @test_v8i16_ne(<8 x i16> %v1, <8 x i16> %v2) {
    %cmp = icmp ne <8 x i16> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <4 x i1> @test_v4i16_ne(<4 x i16> %v1, <4 x i16> %v2) {
    %cmp = icmp ne <4 x i16> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <16 x i1> @test_v16i8_ne(<16 x i8> %v1, <16 x i8> %v2) {
    %cmp = icmp ne <16 x i8> %v1, %v2
    ret <16 x i1> %cmp
  }

  define <8 x i1> @test_v8i8_ne(<8 x i8> %v1, <8 x i8> %v2) {
    %cmp = icmp ne <8 x i8> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <2 x i1> @test_v2i64_ugt(<2 x i64> %v1, <2 x i64> %v2) {
    %cmp = icmp ugt <2 x i64> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <4 x i1> @test_v4i32_ugt(<4 x i32> %v1, <4 x i32> %v2) {
    %cmp = icmp ugt <4 x i32> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <2 x i1> @test_v2i32_ugt(<2 x i32> %v1, <2 x i32> %v2) {
    %cmp = icmp ugt <2 x i32> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <2 x i1> @test_v2i16_ugt(<2 x i16> %v1, <2 x i16> %v2) {
    %cmp = icmp ugt <2 x i16> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <8 x i1> @test_v8i16_ugt(<8 x i16> %v1, <8 x i16> %v2) {
    %cmp = icmp ugt <8 x i16> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <4 x i1> @test_v4i16_ugt(<4 x i16> %v1, <4 x i16> %v2) {
    %cmp = icmp ugt <4 x i16> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <16 x i1> @test_v16i8_ugt(<16 x i8> %v1, <16 x i8> %v2) {
    %cmp = icmp ugt <16 x i8> %v1, %v2
    ret <16 x i1> %cmp
  }

  define <8 x i1> @test_v8i8_ugt(<8 x i8> %v1, <8 x i8> %v2) {
    %cmp = icmp ugt <8 x i8> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <2 x i1> @test_v2i64_uge(<2 x i64> %v1, <2 x i64> %v2) {
    %cmp = icmp uge <2 x i64> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <4 x i1> @test_v4i32_uge(<4 x i32> %v1, <4 x i32> %v2) {
    %cmp = icmp uge <4 x i32> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <2 x i1> @test_v2i32_uge(<2 x i32> %v1, <2 x i32> %v2) {
    %cmp = icmp uge <2 x i32> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <2 x i1> @test_v2i16_uge(<2 x i16> %v1, <2 x i16> %v2) {
    %cmp = icmp uge <2 x i16> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <8 x i1> @test_v8i16_uge(<8 x i16> %v1, <8 x i16> %v2) {
    %cmp = icmp uge <8 x i16> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <4 x i1> @test_v4i16_uge(<4 x i16> %v1, <4 x i16> %v2) {
    %cmp = icmp uge <4 x i16> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <16 x i1> @test_v16i8_uge(<16 x i8> %v1, <16 x i8> %v2) {
    %cmp = icmp uge <16 x i8> %v1, %v2
    ret <16 x i1> %cmp
  }

  define <8 x i1> @test_v8i8_uge(<8 x i8> %v1, <8 x i8> %v2) {
    %cmp = icmp uge <8 x i8> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <2 x i1> @test_v2i64_ult(<2 x i64> %v1, <2 x i64> %v2) {
    %cmp = icmp ult <2 x i64> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <4 x i1> @test_v4i32_ult(<4 x i32> %v1, <4 x i32> %v2) {
    %cmp = icmp ult <4 x i32> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <2 x i1> @test_v2i32_ult(<2 x i32> %v1, <2 x i32> %v2) {
    %cmp = icmp ult <2 x i32> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <2 x i1> @test_v2i16_ult(<2 x i16> %v1, <2 x i16> %v2) {
    %cmp = icmp ult <2 x i16> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <8 x i1> @test_v8i16_ult(<8 x i16> %v1, <8 x i16> %v2) {
    %cmp = icmp ult <8 x i16> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <4 x i1> @test_v4i16_ult(<4 x i16> %v1, <4 x i16> %v2) {
    %cmp = icmp ult <4 x i16> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <16 x i1> @test_v16i8_ult(<16 x i8> %v1, <16 x i8> %v2) {
    %cmp = icmp ult <16 x i8> %v1, %v2
    ret <16 x i1> %cmp
  }

  define <8 x i1> @test_v8i8_ult(<8 x i8> %v1, <8 x i8> %v2) {
    %cmp = icmp ult <8 x i8> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <2 x i1> @test_v2i64_ule(<2 x i64> %v1, <2 x i64> %v2) {
    %cmp = icmp ule <2 x i64> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <4 x i1> @test_v4i32_ule(<4 x i32> %v1, <4 x i32> %v2) {
    %cmp = icmp ule <4 x i32> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <2 x i1> @test_v2i32_ule(<2 x i32> %v1, <2 x i32> %v2) {
    %cmp = icmp ule <2 x i32> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <2 x i1> @test_v2i16_ule(<2 x i16> %v1, <2 x i16> %v2) {
    %cmp = icmp ule <2 x i16> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <8 x i1> @test_v8i16_ule(<8 x i16> %v1, <8 x i16> %v2) {
    %cmp = icmp ule <8 x i16> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <4 x i1> @test_v4i16_ule(<4 x i16> %v1, <4 x i16> %v2) {
    %cmp = icmp ule <4 x i16> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <16 x i1> @test_v16i8_ule(<16 x i8> %v1, <16 x i8> %v2) {
    %cmp = icmp ule <16 x i8> %v1, %v2
    ret <16 x i1> %cmp
  }

  define <8 x i1> @test_v8i8_ule(<8 x i8> %v1, <8 x i8> %v2) {
    %cmp = icmp ule <8 x i8> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <2 x i1> @test_v2i64_sgt(<2 x i64> %v1, <2 x i64> %v2) {
    %cmp = icmp sgt <2 x i64> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <4 x i1> @test_v4i32_sgt(<4 x i32> %v1, <4 x i32> %v2) {
    %cmp = icmp sgt <4 x i32> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <2 x i1> @test_v2i32_sgt(<2 x i32> %v1, <2 x i32> %v2) {
    %cmp = icmp sgt <2 x i32> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <2 x i1> @test_v2i16_sgt(<2 x i16> %v1, <2 x i16> %v2) {
    %cmp = icmp sgt <2 x i16> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <8 x i1> @test_v8i16_sgt(<8 x i16> %v1, <8 x i16> %v2) {
    %cmp = icmp sgt <8 x i16> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <4 x i1> @test_v4i16_sgt(<4 x i16> %v1, <4 x i16> %v2) {
    %cmp = icmp sgt <4 x i16> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <16 x i1> @test_v16i8_sgt(<16 x i8> %v1, <16 x i8> %v2) {
    %cmp = icmp sgt <16 x i8> %v1, %v2
    ret <16 x i1> %cmp
  }

  define <8 x i1> @test_v8i8_sgt(<8 x i8> %v1, <8 x i8> %v2) {
    %cmp = icmp sgt <8 x i8> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <2 x i1> @test_v2i64_sge(<2 x i64> %v1, <2 x i64> %v2) {
    %cmp = icmp sge <2 x i64> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <4 x i1> @test_v4i32_sge(<4 x i32> %v1, <4 x i32> %v2) {
    %cmp = icmp sge <4 x i32> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <2 x i1> @test_v2i32_sge(<2 x i32> %v1, <2 x i32> %v2) {
    %cmp = icmp sge <2 x i32> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <2 x i1> @test_v2i16_sge(<2 x i16> %v1, <2 x i16> %v2) {
    %cmp = icmp sge <2 x i16> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <8 x i1> @test_v8i16_sge(<8 x i16> %v1, <8 x i16> %v2) {
    %cmp = icmp sge <8 x i16> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <4 x i1> @test_v4i16_sge(<4 x i16> %v1, <4 x i16> %v2) {
    %cmp = icmp sge <4 x i16> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <16 x i1> @test_v16i8_sge(<16 x i8> %v1, <16 x i8> %v2) {
    %cmp = icmp sge <16 x i8> %v1, %v2
    ret <16 x i1> %cmp
  }

  define <8 x i1> @test_v8i8_sge(<8 x i8> %v1, <8 x i8> %v2) {
    %cmp = icmp sge <8 x i8> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <2 x i1> @test_v2i64_slt(<2 x i64> %v1, <2 x i64> %v2) {
    %cmp = icmp slt <2 x i64> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <4 x i1> @test_v4i32_slt(<4 x i32> %v1, <4 x i32> %v2) {
    %cmp = icmp slt <4 x i32> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <2 x i1> @test_v2i32_slt(<2 x i32> %v1, <2 x i32> %v2) {
    %cmp = icmp slt <2 x i32> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <2 x i1> @test_v2i16_slt(<2 x i16> %v1, <2 x i16> %v2) {
    %cmp = icmp slt <2 x i16> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <8 x i1> @test_v8i16_slt(<8 x i16> %v1, <8 x i16> %v2) {
    %cmp = icmp slt <8 x i16> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <4 x i1> @test_v4i16_slt(<4 x i16> %v1, <4 x i16> %v2) {
    %cmp = icmp slt <4 x i16> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <16 x i1> @test_v16i8_slt(<16 x i8> %v1, <16 x i8> %v2) {
    %cmp = icmp slt <16 x i8> %v1, %v2
    ret <16 x i1> %cmp
  }

  define <8 x i1> @test_v8i8_slt(<8 x i8> %v1, <8 x i8> %v2) {
    %cmp = icmp slt <8 x i8> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <2 x i1> @test_v2i64_sle(<2 x i64> %v1, <2 x i64> %v2) {
    %cmp = icmp sle <2 x i64> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <4 x i1> @test_v4i32_sle(<4 x i32> %v1, <4 x i32> %v2) {
    %cmp = icmp sle <4 x i32> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <2 x i1> @test_v2i32_sle(<2 x i32> %v1, <2 x i32> %v2) {
    %cmp = icmp sle <2 x i32> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <2 x i1> @test_v2i16_sle(<2 x i16> %v1, <2 x i16> %v2) {
    %cmp = icmp sle <2 x i16> %v1, %v2
    ret <2 x i1> %cmp
  }

  define <8 x i1> @test_v8i16_sle(<8 x i16> %v1, <8 x i16> %v2) {
    %cmp = icmp sle <8 x i16> %v1, %v2
    ret <8 x i1> %cmp
  }

  define <4 x i1> @test_v4i16_sle(<4 x i16> %v1, <4 x i16> %v2) {
    %cmp = icmp sle <4 x i16> %v1, %v2
    ret <4 x i1> %cmp
  }

  define <16 x i1> @test_v16i8_sle(<16 x i8> %v1, <16 x i8> %v2) {
    %cmp = icmp sle <16 x i8> %v1, %v2
    ret <16 x i1> %cmp
  }

  define <8 x i1> @test_v8i8_sle(<8 x i8> %v1, <8 x i8> %v2) {
    %cmp = icmp sle <8 x i8> %v1, %v2
    ret <8 x i1> %cmp
  }

...
---
name:            test_v2i64_eq
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v2i64_eq
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMEQv2i64_:%[0-9]+]]:fpr128 = CMEQv2i64 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMEQv2i64_]]
    ; CHECK: $d0 = COPY [[XTNv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s64>) = COPY $q0
    %1:fpr(<2 x s64>) = COPY $q1
    %4:fpr(<2 x s64>) = G_ICMP intpred(eq), %0(<2 x s64>), %1
    %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i32_eq
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v4i32_eq
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMEQv4i32_:%[0-9]+]]:fpr128 = CMEQv4i32 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMEQv4i32_]]
    ; CHECK: $d0 = COPY [[XTNv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s32>) = COPY $q0
    %1:fpr(<4 x s32>) = COPY $q1
    %4:fpr(<4 x s32>) = G_ICMP intpred(eq), %0(<4 x s32>), %1
    %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i32_eq
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i32_eq
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMEQv2i32_:%[0-9]+]]:fpr64 = CMEQv2i32 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMEQv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s32>) = COPY $d0
    %1:fpr(<2 x s32>) = COPY $d1
    %4:fpr(<2 x s32>) = G_ICMP intpred(eq), %0(<2 x s32>), %1
    %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i16_eq
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: fpr }
  - { id: 3, class: fpr }
  - { id: 4, class: _ }
  - { id: 5, class: fpr }
  - { id: 6, class: _ }
  - { id: 7, class: fpr }
  - { id: 8, class: fpr }
  - { id: 9, class: fpr }
  - { id: 10, class: gpr }
  - { id: 11, class: fpr }
  - { id: 12, class: fpr }
  - { id: 13, class: gpr }
  - { id: 14, class: fpr }
  - { id: 15, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i16_eq
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY]], [[LDRDui]]
    ; CHECK: [[ADRP1:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui1:%[0-9]+]]:fpr64 = LDRDui [[ADRP1]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_1:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY1]], [[LDRDui1]]
    ; CHECK: [[CMEQv2i32_:%[0-9]+]]:fpr64 = CMEQv2i32 [[ANDv8i8_]], [[ANDv8i8_1]]
    ; CHECK: $d0 = COPY [[CMEQv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %2:fpr(<2 x s32>) = COPY $d0
    %3:fpr(<2 x s32>) = COPY $d1
    %13:gpr(s32) = G_CONSTANT i32 65535
    %14:fpr(<2 x s32>) = G_BUILD_VECTOR %13(s32), %13(s32)
    %15:fpr(<2 x s32>) = COPY %2(<2 x s32>)
    %7:fpr(<2 x s32>) = G_AND %15, %14
    %10:gpr(s32) = G_CONSTANT i32 65535
    %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)
    %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)
    %8:fpr(<2 x s32>) = G_AND %12, %11
    %9:fpr(<2 x s32>) = G_ICMP intpred(eq), %7(<2 x s32>), %8
    %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)
    $d0 = COPY %5(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v8i16_eq
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v8i16_eq
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMEQv8i16_:%[0-9]+]]:fpr128 = CMEQv8i16 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMEQv8i16_]]
    ; CHECK: $d0 = COPY [[XTNv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s16>) = COPY $q0
    %1:fpr(<8 x s16>) = COPY $q1
    %4:fpr(<8 x s16>) = G_ICMP intpred(eq), %0(<8 x s16>), %1
    %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i16_eq
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v4i16_eq
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMEQv4i16_:%[0-9]+]]:fpr64 = CMEQv4i16 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMEQv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s16>) = COPY $d0
    %1:fpr(<4 x s16>) = COPY $d1
    %4:fpr(<4 x s16>) = G_ICMP intpred(eq), %0(<4 x s16>), %1
    %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v16i8_eq
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v16i8_eq
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMEQv16i8_:%[0-9]+]]:fpr128 = CMEQv16i8 [[COPY]], [[COPY1]]
    ; CHECK: $q0 = COPY [[CMEQv16i8_]]
    ; CHECK: RET_ReallyLR implicit $q0
    %0:fpr(<16 x s8>) = COPY $q0
    %1:fpr(<16 x s8>) = COPY $q1
    %4:fpr(<16 x s8>) = G_ICMP intpred(eq), %0(<16 x s8>), %1
    %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)
    $q0 = COPY %3(<16 x s8>)
    RET_ReallyLR implicit $q0

...
---
name:            test_v8i8_eq
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v8i8_eq
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMEQv8i8_:%[0-9]+]]:fpr64 = CMEQv8i8 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMEQv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s8>) = COPY $d0
    %1:fpr(<8 x s8>) = COPY $d1
    %4:fpr(<8 x s8>) = G_ICMP intpred(eq), %0(<8 x s8>), %1
    %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i64_ne
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v2i64_ne
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMEQv2i64_:%[0-9]+]]:fpr128 = CMEQv2i64 [[COPY]], [[COPY1]]
    ; CHECK: [[NOTv16i8_:%[0-9]+]]:fpr128 = NOTv16i8 [[CMEQv2i64_]]
    ; CHECK: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[NOTv16i8_]]
    ; CHECK: $d0 = COPY [[XTNv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s64>) = COPY $q0
    %1:fpr(<2 x s64>) = COPY $q1
    %4:fpr(<2 x s64>) = G_ICMP intpred(ne), %0(<2 x s64>), %1
    %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i32_ne
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v4i32_ne
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMEQv4i32_:%[0-9]+]]:fpr128 = CMEQv4i32 [[COPY]], [[COPY1]]
    ; CHECK: [[NOTv16i8_:%[0-9]+]]:fpr128 = NOTv16i8 [[CMEQv4i32_]]
    ; CHECK: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[NOTv16i8_]]
    ; CHECK: $d0 = COPY [[XTNv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s32>) = COPY $q0
    %1:fpr(<4 x s32>) = COPY $q1
    %4:fpr(<4 x s32>) = G_ICMP intpred(ne), %0(<4 x s32>), %1
    %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i32_ne
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i32_ne
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMEQv2i32_:%[0-9]+]]:fpr64 = CMEQv2i32 [[COPY]], [[COPY1]]
    ; CHECK: [[NOTv8i8_:%[0-9]+]]:fpr64 = NOTv8i8 [[CMEQv2i32_]]
    ; CHECK: $d0 = COPY [[NOTv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s32>) = COPY $d0
    %1:fpr(<2 x s32>) = COPY $d1
    %4:fpr(<2 x s32>) = G_ICMP intpred(ne), %0(<2 x s32>), %1
    %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i16_ne
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: fpr }
  - { id: 3, class: fpr }
  - { id: 4, class: _ }
  - { id: 5, class: fpr }
  - { id: 6, class: _ }
  - { id: 7, class: fpr }
  - { id: 8, class: fpr }
  - { id: 9, class: fpr }
  - { id: 10, class: gpr }
  - { id: 11, class: fpr }
  - { id: 12, class: fpr }
  - { id: 13, class: gpr }
  - { id: 14, class: fpr }
  - { id: 15, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i16_ne
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY]], [[LDRDui]]
    ; CHECK: [[ADRP1:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui1:%[0-9]+]]:fpr64 = LDRDui [[ADRP1]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_1:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY1]], [[LDRDui1]]
    ; CHECK: [[CMEQv2i32_:%[0-9]+]]:fpr64 = CMEQv2i32 [[ANDv8i8_]], [[ANDv8i8_1]]
    ; CHECK: [[NOTv8i8_:%[0-9]+]]:fpr64 = NOTv8i8 [[CMEQv2i32_]]
    ; CHECK: $d0 = COPY [[NOTv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %2:fpr(<2 x s32>) = COPY $d0
    %3:fpr(<2 x s32>) = COPY $d1
    %13:gpr(s32) = G_CONSTANT i32 65535
    %14:fpr(<2 x s32>) = G_BUILD_VECTOR %13(s32), %13(s32)
    %15:fpr(<2 x s32>) = COPY %2(<2 x s32>)
    %7:fpr(<2 x s32>) = G_AND %15, %14
    %10:gpr(s32) = G_CONSTANT i32 65535
    %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)
    %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)
    %8:fpr(<2 x s32>) = G_AND %12, %11
    %9:fpr(<2 x s32>) = G_ICMP intpred(ne), %7(<2 x s32>), %8
    %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)
    $d0 = COPY %5(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v8i16_ne
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v8i16_ne
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMEQv8i16_:%[0-9]+]]:fpr128 = CMEQv8i16 [[COPY]], [[COPY1]]
    ; CHECK: [[NOTv16i8_:%[0-9]+]]:fpr128 = NOTv16i8 [[CMEQv8i16_]]
    ; CHECK: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[NOTv16i8_]]
    ; CHECK: $d0 = COPY [[XTNv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s16>) = COPY $q0
    %1:fpr(<8 x s16>) = COPY $q1
    %4:fpr(<8 x s16>) = G_ICMP intpred(ne), %0(<8 x s16>), %1
    %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i16_ne
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v4i16_ne
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMEQv4i16_:%[0-9]+]]:fpr64 = CMEQv4i16 [[COPY]], [[COPY1]]
    ; CHECK: [[NOTv8i8_:%[0-9]+]]:fpr64 = NOTv8i8 [[CMEQv4i16_]]
    ; CHECK: $d0 = COPY [[NOTv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s16>) = COPY $d0
    %1:fpr(<4 x s16>) = COPY $d1
    %4:fpr(<4 x s16>) = G_ICMP intpred(ne), %0(<4 x s16>), %1
    %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v16i8_ne
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v16i8_ne
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMEQv16i8_:%[0-9]+]]:fpr128 = CMEQv16i8 [[COPY]], [[COPY1]]
    ; CHECK: [[NOTv16i8_:%[0-9]+]]:fpr128 = NOTv16i8 [[CMEQv16i8_]]
    ; CHECK: $q0 = COPY [[NOTv16i8_]]
    ; CHECK: RET_ReallyLR implicit $q0
    %0:fpr(<16 x s8>) = COPY $q0
    %1:fpr(<16 x s8>) = COPY $q1
    %4:fpr(<16 x s8>) = G_ICMP intpred(ne), %0(<16 x s8>), %1
    %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)
    $q0 = COPY %3(<16 x s8>)
    RET_ReallyLR implicit $q0

...
---
name:            test_v8i8_ne
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v8i8_ne
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMEQv8i8_:%[0-9]+]]:fpr64 = CMEQv8i8 [[COPY]], [[COPY1]]
    ; CHECK: [[NOTv8i8_:%[0-9]+]]:fpr64 = NOTv8i8 [[CMEQv8i8_]]
    ; CHECK: $d0 = COPY [[NOTv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s8>) = COPY $d0
    %1:fpr(<8 x s8>) = COPY $d1
    %4:fpr(<8 x s8>) = G_ICMP intpred(ne), %0(<8 x s8>), %1
    %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i64_ugt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v2i64_ugt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHIv2i64_:%[0-9]+]]:fpr128 = CMHIv2i64 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMHIv2i64_]]
    ; CHECK: $d0 = COPY [[XTNv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s64>) = COPY $q0
    %1:fpr(<2 x s64>) = COPY $q1
    %4:fpr(<2 x s64>) = G_ICMP intpred(ugt), %0(<2 x s64>), %1
    %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i32_ugt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v4i32_ugt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHIv4i32_:%[0-9]+]]:fpr128 = CMHIv4i32 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMHIv4i32_]]
    ; CHECK: $d0 = COPY [[XTNv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s32>) = COPY $q0
    %1:fpr(<4 x s32>) = COPY $q1
    %4:fpr(<4 x s32>) = G_ICMP intpred(ugt), %0(<4 x s32>), %1
    %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i32_ugt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i32_ugt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHIv2i32_:%[0-9]+]]:fpr64 = CMHIv2i32 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMHIv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s32>) = COPY $d0
    %1:fpr(<2 x s32>) = COPY $d1
    %4:fpr(<2 x s32>) = G_ICMP intpred(ugt), %0(<2 x s32>), %1
    %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i16_ugt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: fpr }
  - { id: 3, class: fpr }
  - { id: 4, class: _ }
  - { id: 5, class: fpr }
  - { id: 6, class: _ }
  - { id: 7, class: fpr }
  - { id: 8, class: fpr }
  - { id: 9, class: fpr }
  - { id: 10, class: gpr }
  - { id: 11, class: fpr }
  - { id: 12, class: fpr }
  - { id: 13, class: gpr }
  - { id: 14, class: fpr }
  - { id: 15, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i16_ugt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY]], [[LDRDui]]
    ; CHECK: [[ADRP1:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui1:%[0-9]+]]:fpr64 = LDRDui [[ADRP1]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_1:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY1]], [[LDRDui1]]
    ; CHECK: [[CMHIv2i32_:%[0-9]+]]:fpr64 = CMHIv2i32 [[ANDv8i8_]], [[ANDv8i8_1]]
    ; CHECK: $d0 = COPY [[CMHIv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %2:fpr(<2 x s32>) = COPY $d0
    %3:fpr(<2 x s32>) = COPY $d1
    %13:gpr(s32) = G_CONSTANT i32 65535
    %14:fpr(<2 x s32>) = G_BUILD_VECTOR %13(s32), %13(s32)
    %15:fpr(<2 x s32>) = COPY %2(<2 x s32>)
    %7:fpr(<2 x s32>) = G_AND %15, %14
    %10:gpr(s32) = G_CONSTANT i32 65535
    %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)
    %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)
    %8:fpr(<2 x s32>) = G_AND %12, %11
    %9:fpr(<2 x s32>) = G_ICMP intpred(ugt), %7(<2 x s32>), %8
    %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)
    $d0 = COPY %5(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v8i16_ugt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v8i16_ugt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHIv8i16_:%[0-9]+]]:fpr128 = CMHIv8i16 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMHIv8i16_]]
    ; CHECK: $d0 = COPY [[XTNv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s16>) = COPY $q0
    %1:fpr(<8 x s16>) = COPY $q1
    %4:fpr(<8 x s16>) = G_ICMP intpred(ugt), %0(<8 x s16>), %1
    %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i16_ugt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v4i16_ugt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHIv4i16_:%[0-9]+]]:fpr64 = CMHIv4i16 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMHIv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s16>) = COPY $d0
    %1:fpr(<4 x s16>) = COPY $d1
    %4:fpr(<4 x s16>) = G_ICMP intpred(ugt), %0(<4 x s16>), %1
    %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v16i8_ugt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v16i8_ugt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHIv16i8_:%[0-9]+]]:fpr128 = CMHIv16i8 [[COPY]], [[COPY1]]
    ; CHECK: $q0 = COPY [[CMHIv16i8_]]
    ; CHECK: RET_ReallyLR implicit $q0
    %0:fpr(<16 x s8>) = COPY $q0
    %1:fpr(<16 x s8>) = COPY $q1
    %4:fpr(<16 x s8>) = G_ICMP intpred(ugt), %0(<16 x s8>), %1
    %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)
    $q0 = COPY %3(<16 x s8>)
    RET_ReallyLR implicit $q0

...
---
name:            test_v8i8_ugt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v8i8_ugt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHIv8i8_:%[0-9]+]]:fpr64 = CMHIv8i8 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMHIv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s8>) = COPY $d0
    %1:fpr(<8 x s8>) = COPY $d1
    %4:fpr(<8 x s8>) = G_ICMP intpred(ugt), %0(<8 x s8>), %1
    %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i64_uge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v2i64_uge
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHSv2i64_:%[0-9]+]]:fpr128 = CMHSv2i64 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMHSv2i64_]]
    ; CHECK: $d0 = COPY [[XTNv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s64>) = COPY $q0
    %1:fpr(<2 x s64>) = COPY $q1
    %4:fpr(<2 x s64>) = G_ICMP intpred(uge), %0(<2 x s64>), %1
    %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i32_uge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v4i32_uge
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHSv4i32_:%[0-9]+]]:fpr128 = CMHSv4i32 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMHSv4i32_]]
    ; CHECK: $d0 = COPY [[XTNv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s32>) = COPY $q0
    %1:fpr(<4 x s32>) = COPY $q1
    %4:fpr(<4 x s32>) = G_ICMP intpred(uge), %0(<4 x s32>), %1
    %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i32_uge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i32_uge
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHSv2i32_:%[0-9]+]]:fpr64 = CMHSv2i32 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMHSv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s32>) = COPY $d0
    %1:fpr(<2 x s32>) = COPY $d1
    %4:fpr(<2 x s32>) = G_ICMP intpred(uge), %0(<2 x s32>), %1
    %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i16_uge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: fpr }
  - { id: 3, class: fpr }
  - { id: 4, class: _ }
  - { id: 5, class: fpr }
  - { id: 6, class: _ }
  - { id: 7, class: fpr }
  - { id: 8, class: fpr }
  - { id: 9, class: fpr }
  - { id: 10, class: gpr }
  - { id: 11, class: fpr }
  - { id: 12, class: fpr }
  - { id: 13, class: gpr }
  - { id: 14, class: fpr }
  - { id: 15, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i16_uge
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY]], [[LDRDui]]
    ; CHECK: [[ADRP1:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui1:%[0-9]+]]:fpr64 = LDRDui [[ADRP1]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_1:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY1]], [[LDRDui1]]
    ; CHECK: [[CMHSv2i32_:%[0-9]+]]:fpr64 = CMHSv2i32 [[ANDv8i8_]], [[ANDv8i8_1]]
    ; CHECK: $d0 = COPY [[CMHSv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %2:fpr(<2 x s32>) = COPY $d0
    %3:fpr(<2 x s32>) = COPY $d1
    %13:gpr(s32) = G_CONSTANT i32 65535
    %14:fpr(<2 x s32>) = G_BUILD_VECTOR %13(s32), %13(s32)
    %15:fpr(<2 x s32>) = COPY %2(<2 x s32>)
    %7:fpr(<2 x s32>) = G_AND %15, %14
    %10:gpr(s32) = G_CONSTANT i32 65535
    %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)
    %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)
    %8:fpr(<2 x s32>) = G_AND %12, %11
    %9:fpr(<2 x s32>) = G_ICMP intpred(uge), %7(<2 x s32>), %8
    %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)
    $d0 = COPY %5(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v8i16_uge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v8i16_uge
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHSv8i16_:%[0-9]+]]:fpr128 = CMHSv8i16 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMHSv8i16_]]
    ; CHECK: $d0 = COPY [[XTNv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s16>) = COPY $q0
    %1:fpr(<8 x s16>) = COPY $q1
    %4:fpr(<8 x s16>) = G_ICMP intpred(uge), %0(<8 x s16>), %1
    %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i16_uge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v4i16_uge
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHSv4i16_:%[0-9]+]]:fpr64 = CMHSv4i16 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMHSv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s16>) = COPY $d0
    %1:fpr(<4 x s16>) = COPY $d1
    %4:fpr(<4 x s16>) = G_ICMP intpred(uge), %0(<4 x s16>), %1
    %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v16i8_uge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v16i8_uge
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHSv16i8_:%[0-9]+]]:fpr128 = CMHSv16i8 [[COPY]], [[COPY1]]
    ; CHECK: $q0 = COPY [[CMHSv16i8_]]
    ; CHECK: RET_ReallyLR implicit $q0
    %0:fpr(<16 x s8>) = COPY $q0
    %1:fpr(<16 x s8>) = COPY $q1
    %4:fpr(<16 x s8>) = G_ICMP intpred(uge), %0(<16 x s8>), %1
    %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)
    $q0 = COPY %3(<16 x s8>)
    RET_ReallyLR implicit $q0

...
---
name:            test_v8i8_uge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v8i8_uge
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHSv8i8_:%[0-9]+]]:fpr64 = CMHSv8i8 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMHSv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s8>) = COPY $d0
    %1:fpr(<8 x s8>) = COPY $d1
    %4:fpr(<8 x s8>) = G_ICMP intpred(uge), %0(<8 x s8>), %1
    %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i64_ult
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v2i64_ult
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHIv2i64_:%[0-9]+]]:fpr128 = CMHIv2i64 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMHIv2i64_]]
    ; CHECK: $d0 = COPY [[XTNv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s64>) = COPY $q0
    %1:fpr(<2 x s64>) = COPY $q1
    %4:fpr(<2 x s64>) = G_ICMP intpred(ult), %0(<2 x s64>), %1
    %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i32_ult
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v4i32_ult
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHIv4i32_:%[0-9]+]]:fpr128 = CMHIv4i32 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMHIv4i32_]]
    ; CHECK: $d0 = COPY [[XTNv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s32>) = COPY $q0
    %1:fpr(<4 x s32>) = COPY $q1
    %4:fpr(<4 x s32>) = G_ICMP intpred(ult), %0(<4 x s32>), %1
    %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i32_ult
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i32_ult
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHIv2i32_:%[0-9]+]]:fpr64 = CMHIv2i32 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMHIv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s32>) = COPY $d0
    %1:fpr(<2 x s32>) = COPY $d1
    %4:fpr(<2 x s32>) = G_ICMP intpred(ult), %0(<2 x s32>), %1
    %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i16_ult
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: fpr }
  - { id: 3, class: fpr }
  - { id: 4, class: _ }
  - { id: 5, class: fpr }
  - { id: 6, class: _ }
  - { id: 7, class: fpr }
  - { id: 8, class: fpr }
  - { id: 9, class: fpr }
  - { id: 10, class: gpr }
  - { id: 11, class: fpr }
  - { id: 12, class: fpr }
  - { id: 13, class: gpr }
  - { id: 14, class: fpr }
  - { id: 15, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i16_ult
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY]], [[LDRDui]]
    ; CHECK: [[ADRP1:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui1:%[0-9]+]]:fpr64 = LDRDui [[ADRP1]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_1:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY1]], [[LDRDui1]]
    ; CHECK: [[CMHIv2i32_:%[0-9]+]]:fpr64 = CMHIv2i32 [[ANDv8i8_1]], [[ANDv8i8_]]
    ; CHECK: $d0 = COPY [[CMHIv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %2:fpr(<2 x s32>) = COPY $d0
    %3:fpr(<2 x s32>) = COPY $d1
    %13:gpr(s32) = G_CONSTANT i32 65535
    %14:fpr(<2 x s32>) = G_BUILD_VECTOR %13(s32), %13(s32)
    %15:fpr(<2 x s32>) = COPY %2(<2 x s32>)
    %7:fpr(<2 x s32>) = G_AND %15, %14
    %10:gpr(s32) = G_CONSTANT i32 65535
    %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)
    %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)
    %8:fpr(<2 x s32>) = G_AND %12, %11
    %9:fpr(<2 x s32>) = G_ICMP intpred(ult), %7(<2 x s32>), %8
    %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)
    $d0 = COPY %5(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v8i16_ult
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v8i16_ult
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHIv8i16_:%[0-9]+]]:fpr128 = CMHIv8i16 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMHIv8i16_]]
    ; CHECK: $d0 = COPY [[XTNv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s16>) = COPY $q0
    %1:fpr(<8 x s16>) = COPY $q1
    %4:fpr(<8 x s16>) = G_ICMP intpred(ult), %0(<8 x s16>), %1
    %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i16_ult
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v4i16_ult
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHIv4i16_:%[0-9]+]]:fpr64 = CMHIv4i16 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMHIv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s16>) = COPY $d0
    %1:fpr(<4 x s16>) = COPY $d1
    %4:fpr(<4 x s16>) = G_ICMP intpred(ult), %0(<4 x s16>), %1
    %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v16i8_ult
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v16i8_ult
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHIv16i8_:%[0-9]+]]:fpr128 = CMHIv16i8 [[COPY1]], [[COPY]]
    ; CHECK: $q0 = COPY [[CMHIv16i8_]]
    ; CHECK: RET_ReallyLR implicit $q0
    %0:fpr(<16 x s8>) = COPY $q0
    %1:fpr(<16 x s8>) = COPY $q1
    %4:fpr(<16 x s8>) = G_ICMP intpred(ult), %0(<16 x s8>), %1
    %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)
    $q0 = COPY %3(<16 x s8>)
    RET_ReallyLR implicit $q0

...
---
name:            test_v8i8_ult
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v8i8_ult
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHIv8i8_:%[0-9]+]]:fpr64 = CMHIv8i8 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMHIv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s8>) = COPY $d0
    %1:fpr(<8 x s8>) = COPY $d1
    %4:fpr(<8 x s8>) = G_ICMP intpred(ult), %0(<8 x s8>), %1
    %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i64_ule
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v2i64_ule
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHSv2i64_:%[0-9]+]]:fpr128 = CMHSv2i64 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMHSv2i64_]]
    ; CHECK: $d0 = COPY [[XTNv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s64>) = COPY $q0
    %1:fpr(<2 x s64>) = COPY $q1
    %4:fpr(<2 x s64>) = G_ICMP intpred(ule), %0(<2 x s64>), %1
    %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i32_ule
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v4i32_ule
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHSv4i32_:%[0-9]+]]:fpr128 = CMHSv4i32 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMHSv4i32_]]
    ; CHECK: $d0 = COPY [[XTNv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s32>) = COPY $q0
    %1:fpr(<4 x s32>) = COPY $q1
    %4:fpr(<4 x s32>) = G_ICMP intpred(ule), %0(<4 x s32>), %1
    %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i32_ule
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i32_ule
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHSv2i32_:%[0-9]+]]:fpr64 = CMHSv2i32 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMHSv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s32>) = COPY $d0
    %1:fpr(<2 x s32>) = COPY $d1
    %4:fpr(<2 x s32>) = G_ICMP intpred(ule), %0(<2 x s32>), %1
    %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i16_ule
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: fpr }
  - { id: 3, class: fpr }
  - { id: 4, class: _ }
  - { id: 5, class: fpr }
  - { id: 6, class: _ }
  - { id: 7, class: fpr }
  - { id: 8, class: fpr }
  - { id: 9, class: fpr }
  - { id: 10, class: gpr }
  - { id: 11, class: fpr }
  - { id: 12, class: fpr }
  - { id: 13, class: gpr }
  - { id: 14, class: fpr }
  - { id: 15, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i16_ule
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY]], [[LDRDui]]
    ; CHECK: [[ADRP1:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui1:%[0-9]+]]:fpr64 = LDRDui [[ADRP1]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[ANDv8i8_1:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY1]], [[LDRDui1]]
    ; CHECK: [[CMHSv2i32_:%[0-9]+]]:fpr64 = CMHSv2i32 [[ANDv8i8_1]], [[ANDv8i8_]]
    ; CHECK: $d0 = COPY [[CMHSv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %2:fpr(<2 x s32>) = COPY $d0
    %3:fpr(<2 x s32>) = COPY $d1
    %13:gpr(s32) = G_CONSTANT i32 65535
    %14:fpr(<2 x s32>) = G_BUILD_VECTOR %13(s32), %13(s32)
    %15:fpr(<2 x s32>) = COPY %2(<2 x s32>)
    %7:fpr(<2 x s32>) = G_AND %15, %14
    %10:gpr(s32) = G_CONSTANT i32 65535
    %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)
    %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)
    %8:fpr(<2 x s32>) = G_AND %12, %11
    %9:fpr(<2 x s32>) = G_ICMP intpred(ule), %7(<2 x s32>), %8
    %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)
    $d0 = COPY %5(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v8i16_ule
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v8i16_ule
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHSv8i16_:%[0-9]+]]:fpr128 = CMHSv8i16 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMHSv8i16_]]
    ; CHECK: $d0 = COPY [[XTNv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s16>) = COPY $q0
    %1:fpr(<8 x s16>) = COPY $q1
    %4:fpr(<8 x s16>) = G_ICMP intpred(ule), %0(<8 x s16>), %1
    %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i16_ule
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v4i16_ule
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHSv4i16_:%[0-9]+]]:fpr64 = CMHSv4i16 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMHSv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s16>) = COPY $d0
    %1:fpr(<4 x s16>) = COPY $d1
    %4:fpr(<4 x s16>) = G_ICMP intpred(ule), %0(<4 x s16>), %1
    %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v16i8_ule
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v16i8_ule
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMHSv16i8_:%[0-9]+]]:fpr128 = CMHSv16i8 [[COPY1]], [[COPY]]
    ; CHECK: $q0 = COPY [[CMHSv16i8_]]
    ; CHECK: RET_ReallyLR implicit $q0
    %0:fpr(<16 x s8>) = COPY $q0
    %1:fpr(<16 x s8>) = COPY $q1
    %4:fpr(<16 x s8>) = G_ICMP intpred(ule), %0(<16 x s8>), %1
    %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)
    $q0 = COPY %3(<16 x s8>)
    RET_ReallyLR implicit $q0

...
---
name:            test_v8i8_ule
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v8i8_ule
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMHSv8i8_:%[0-9]+]]:fpr64 = CMHSv8i8 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMHSv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s8>) = COPY $d0
    %1:fpr(<8 x s8>) = COPY $d1
    %4:fpr(<8 x s8>) = G_ICMP intpred(ule), %0(<8 x s8>), %1
    %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i64_sgt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v2i64_sgt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGTv2i64_:%[0-9]+]]:fpr128 = CMGTv2i64 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMGTv2i64_]]
    ; CHECK: $d0 = COPY [[XTNv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s64>) = COPY $q0
    %1:fpr(<2 x s64>) = COPY $q1
    %4:fpr(<2 x s64>) = G_ICMP intpred(sgt), %0(<2 x s64>), %1
    %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i32_sgt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v4i32_sgt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGTv4i32_:%[0-9]+]]:fpr128 = CMGTv4i32 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMGTv4i32_]]
    ; CHECK: $d0 = COPY [[XTNv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s32>) = COPY $q0
    %1:fpr(<4 x s32>) = COPY $q1
    %4:fpr(<4 x s32>) = G_ICMP intpred(sgt), %0(<4 x s32>), %1
    %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i32_sgt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i32_sgt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGTv2i32_:%[0-9]+]]:fpr64 = CMGTv2i32 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMGTv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s32>) = COPY $d0
    %1:fpr(<2 x s32>) = COPY $d1
    %4:fpr(<2 x s32>) = G_ICMP intpred(sgt), %0(<2 x s32>), %1
    %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i16_sgt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: fpr }
  - { id: 3, class: fpr }
  - { id: 4, class: _ }
  - { id: 5, class: fpr }
  - { id: 6, class: _ }
  - { id: 7, class: fpr }
  - { id: 8, class: fpr }
  - { id: 9, class: fpr }
  - { id: 10, class: gpr }
  - { id: 11, class: fpr }
  - { id: 12, class: fpr }
  - { id: 13, class: fpr }
  - { id: 14, class: gpr }
  - { id: 15, class: fpr }
  - { id: 16, class: fpr }
  - { id: 17, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i16_sgt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[SHLv2i32_shift:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY]], 16
    ; CHECK: [[NEGv2i32_:%[0-9]+]]:fpr64 = NEGv2i32 [[LDRDui]]
    ; CHECK: [[SSHLv2i32_:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift]], [[NEGv2i32_]]
    ; CHECK: [[ADRP1:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui1:%[0-9]+]]:fpr64 = LDRDui [[ADRP1]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[SHLv2i32_shift1:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY1]], 16
    ; CHECK: [[NEGv2i32_1:%[0-9]+]]:fpr64 = NEGv2i32 [[LDRDui1]]
    ; CHECK: [[SSHLv2i32_1:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift1]], [[NEGv2i32_1]]
    ; CHECK: [[CMGTv2i32_:%[0-9]+]]:fpr64 = CMGTv2i32 [[SSHLv2i32_]], [[SSHLv2i32_1]]
    ; CHECK: $d0 = COPY [[CMGTv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %2:fpr(<2 x s32>) = COPY $d0
    %3:fpr(<2 x s32>) = COPY $d1
    %14:gpr(s32) = G_CONSTANT i32 16
    %15:fpr(<2 x s32>) = G_BUILD_VECTOR %14(s32), %14(s32)
    %16:fpr(<2 x s32>) = COPY %2(<2 x s32>)
    %17:fpr(<2 x s32>) = G_SHL %16, %15(<2 x s32>)
    %7:fpr(<2 x s32>) = G_ASHR %17, %15(<2 x s32>)
    %10:gpr(s32) = G_CONSTANT i32 16
    %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)
    %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)
    %13:fpr(<2 x s32>) = G_SHL %12, %11(<2 x s32>)
    %8:fpr(<2 x s32>) = G_ASHR %13, %11(<2 x s32>)
    %9:fpr(<2 x s32>) = G_ICMP intpred(sgt), %7(<2 x s32>), %8
    %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)
    $d0 = COPY %5(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v8i16_sgt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v8i16_sgt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGTv8i16_:%[0-9]+]]:fpr128 = CMGTv8i16 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMGTv8i16_]]
    ; CHECK: $d0 = COPY [[XTNv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s16>) = COPY $q0
    %1:fpr(<8 x s16>) = COPY $q1
    %4:fpr(<8 x s16>) = G_ICMP intpred(sgt), %0(<8 x s16>), %1
    %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i16_sgt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v4i16_sgt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGTv4i16_:%[0-9]+]]:fpr64 = CMGTv4i16 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMGTv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s16>) = COPY $d0
    %1:fpr(<4 x s16>) = COPY $d1
    %4:fpr(<4 x s16>) = G_ICMP intpred(sgt), %0(<4 x s16>), %1
    %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v16i8_sgt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v16i8_sgt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGTv16i8_:%[0-9]+]]:fpr128 = CMGTv16i8 [[COPY]], [[COPY1]]
    ; CHECK: $q0 = COPY [[CMGTv16i8_]]
    ; CHECK: RET_ReallyLR implicit $q0
    %0:fpr(<16 x s8>) = COPY $q0
    %1:fpr(<16 x s8>) = COPY $q1
    %4:fpr(<16 x s8>) = G_ICMP intpred(sgt), %0(<16 x s8>), %1
    %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)
    $q0 = COPY %3(<16 x s8>)
    RET_ReallyLR implicit $q0

...
---
name:            test_v8i8_sgt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v8i8_sgt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGTv8i8_:%[0-9]+]]:fpr64 = CMGTv8i8 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMGTv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s8>) = COPY $d0
    %1:fpr(<8 x s8>) = COPY $d1
    %4:fpr(<8 x s8>) = G_ICMP intpred(sgt), %0(<8 x s8>), %1
    %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i64_sge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v2i64_sge
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGEv2i64_:%[0-9]+]]:fpr128 = CMGEv2i64 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMGEv2i64_]]
    ; CHECK: $d0 = COPY [[XTNv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s64>) = COPY $q0
    %1:fpr(<2 x s64>) = COPY $q1
    %4:fpr(<2 x s64>) = G_ICMP intpred(sge), %0(<2 x s64>), %1
    %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i32_sge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v4i32_sge
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGEv4i32_:%[0-9]+]]:fpr128 = CMGEv4i32 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMGEv4i32_]]
    ; CHECK: $d0 = COPY [[XTNv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s32>) = COPY $q0
    %1:fpr(<4 x s32>) = COPY $q1
    %4:fpr(<4 x s32>) = G_ICMP intpred(sge), %0(<4 x s32>), %1
    %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i32_sge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i32_sge
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGEv2i32_:%[0-9]+]]:fpr64 = CMGEv2i32 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMGEv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s32>) = COPY $d0
    %1:fpr(<2 x s32>) = COPY $d1
    %4:fpr(<2 x s32>) = G_ICMP intpred(sge), %0(<2 x s32>), %1
    %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i16_sge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: fpr }
  - { id: 3, class: fpr }
  - { id: 4, class: _ }
  - { id: 5, class: fpr }
  - { id: 6, class: _ }
  - { id: 7, class: fpr }
  - { id: 8, class: fpr }
  - { id: 9, class: fpr }
  - { id: 10, class: gpr }
  - { id: 11, class: fpr }
  - { id: 12, class: fpr }
  - { id: 13, class: fpr }
  - { id: 14, class: gpr }
  - { id: 15, class: fpr }
  - { id: 16, class: fpr }
  - { id: 17, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i16_sge
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[SHLv2i32_shift:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY]], 16
    ; CHECK: [[NEGv2i32_:%[0-9]+]]:fpr64 = NEGv2i32 [[LDRDui]]
    ; CHECK: [[SSHLv2i32_:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift]], [[NEGv2i32_]]
    ; CHECK: [[ADRP1:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui1:%[0-9]+]]:fpr64 = LDRDui [[ADRP1]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[SHLv2i32_shift1:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY1]], 16
    ; CHECK: [[NEGv2i32_1:%[0-9]+]]:fpr64 = NEGv2i32 [[LDRDui1]]
    ; CHECK: [[SSHLv2i32_1:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift1]], [[NEGv2i32_1]]
    ; CHECK: [[CMGEv2i32_:%[0-9]+]]:fpr64 = CMGEv2i32 [[SSHLv2i32_]], [[SSHLv2i32_1]]
    ; CHECK: $d0 = COPY [[CMGEv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %2:fpr(<2 x s32>) = COPY $d0
    %3:fpr(<2 x s32>) = COPY $d1
    %14:gpr(s32) = G_CONSTANT i32 16
    %15:fpr(<2 x s32>) = G_BUILD_VECTOR %14(s32), %14(s32)
    %16:fpr(<2 x s32>) = COPY %2(<2 x s32>)
    %17:fpr(<2 x s32>) = G_SHL %16, %15(<2 x s32>)
    %7:fpr(<2 x s32>) = G_ASHR %17, %15(<2 x s32>)
    %10:gpr(s32) = G_CONSTANT i32 16
    %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)
    %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)
    %13:fpr(<2 x s32>) = G_SHL %12, %11(<2 x s32>)
    %8:fpr(<2 x s32>) = G_ASHR %13, %11(<2 x s32>)
    %9:fpr(<2 x s32>) = G_ICMP intpred(sge), %7(<2 x s32>), %8
    %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)
    $d0 = COPY %5(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v8i16_sge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v8i16_sge
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGEv8i16_:%[0-9]+]]:fpr128 = CMGEv8i16 [[COPY]], [[COPY1]]
    ; CHECK: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMGEv8i16_]]
    ; CHECK: $d0 = COPY [[XTNv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s16>) = COPY $q0
    %1:fpr(<8 x s16>) = COPY $q1
    %4:fpr(<8 x s16>) = G_ICMP intpred(sge), %0(<8 x s16>), %1
    %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i16_sge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v4i16_sge
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGEv4i16_:%[0-9]+]]:fpr64 = CMGEv4i16 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMGEv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s16>) = COPY $d0
    %1:fpr(<4 x s16>) = COPY $d1
    %4:fpr(<4 x s16>) = G_ICMP intpred(sge), %0(<4 x s16>), %1
    %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v16i8_sge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v16i8_sge
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGEv16i8_:%[0-9]+]]:fpr128 = CMGEv16i8 [[COPY]], [[COPY1]]
    ; CHECK: $q0 = COPY [[CMGEv16i8_]]
    ; CHECK: RET_ReallyLR implicit $q0
    %0:fpr(<16 x s8>) = COPY $q0
    %1:fpr(<16 x s8>) = COPY $q1
    %4:fpr(<16 x s8>) = G_ICMP intpred(sge), %0(<16 x s8>), %1
    %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)
    $q0 = COPY %3(<16 x s8>)
    RET_ReallyLR implicit $q0

...
---
name:            test_v8i8_sge
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v8i8_sge
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGEv8i8_:%[0-9]+]]:fpr64 = CMGEv8i8 [[COPY]], [[COPY1]]
    ; CHECK: $d0 = COPY [[CMGEv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s8>) = COPY $d0
    %1:fpr(<8 x s8>) = COPY $d1
    %4:fpr(<8 x s8>) = G_ICMP intpred(sge), %0(<8 x s8>), %1
    %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i64_slt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v2i64_slt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGTv2i64_:%[0-9]+]]:fpr128 = CMGTv2i64 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMGTv2i64_]]
    ; CHECK: $d0 = COPY [[XTNv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s64>) = COPY $q0
    %1:fpr(<2 x s64>) = COPY $q1
    %4:fpr(<2 x s64>) = G_ICMP intpred(slt), %0(<2 x s64>), %1
    %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i32_slt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v4i32_slt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGTv4i32_:%[0-9]+]]:fpr128 = CMGTv4i32 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMGTv4i32_]]
    ; CHECK: $d0 = COPY [[XTNv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s32>) = COPY $q0
    %1:fpr(<4 x s32>) = COPY $q1
    %4:fpr(<4 x s32>) = G_ICMP intpred(slt), %0(<4 x s32>), %1
    %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i32_slt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i32_slt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGTv2i32_:%[0-9]+]]:fpr64 = CMGTv2i32 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMGTv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s32>) = COPY $d0
    %1:fpr(<2 x s32>) = COPY $d1
    %4:fpr(<2 x s32>) = G_ICMP intpred(slt), %0(<2 x s32>), %1
    %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i16_slt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: fpr }
  - { id: 3, class: fpr }
  - { id: 4, class: _ }
  - { id: 5, class: fpr }
  - { id: 6, class: _ }
  - { id: 7, class: fpr }
  - { id: 8, class: fpr }
  - { id: 9, class: fpr }
  - { id: 10, class: gpr }
  - { id: 11, class: fpr }
  - { id: 12, class: fpr }
  - { id: 13, class: fpr }
  - { id: 14, class: gpr }
  - { id: 15, class: fpr }
  - { id: 16, class: fpr }
  - { id: 17, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i16_slt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[SHLv2i32_shift:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY]], 16
    ; CHECK: [[NEGv2i32_:%[0-9]+]]:fpr64 = NEGv2i32 [[LDRDui]]
    ; CHECK: [[SSHLv2i32_:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift]], [[NEGv2i32_]]
    ; CHECK: [[ADRP1:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui1:%[0-9]+]]:fpr64 = LDRDui [[ADRP1]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[SHLv2i32_shift1:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY1]], 16
    ; CHECK: [[NEGv2i32_1:%[0-9]+]]:fpr64 = NEGv2i32 [[LDRDui1]]
    ; CHECK: [[SSHLv2i32_1:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift1]], [[NEGv2i32_1]]
    ; CHECK: [[CMGTv2i32_:%[0-9]+]]:fpr64 = CMGTv2i32 [[SSHLv2i32_1]], [[SSHLv2i32_]]
    ; CHECK: $d0 = COPY [[CMGTv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %2:fpr(<2 x s32>) = COPY $d0
    %3:fpr(<2 x s32>) = COPY $d1
    %14:gpr(s32) = G_CONSTANT i32 16
    %15:fpr(<2 x s32>) = G_BUILD_VECTOR %14(s32), %14(s32)
    %16:fpr(<2 x s32>) = COPY %2(<2 x s32>)
    %17:fpr(<2 x s32>) = G_SHL %16, %15(<2 x s32>)
    %7:fpr(<2 x s32>) = G_ASHR %17, %15(<2 x s32>)
    %10:gpr(s32) = G_CONSTANT i32 16
    %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)
    %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)
    %13:fpr(<2 x s32>) = G_SHL %12, %11(<2 x s32>)
    %8:fpr(<2 x s32>) = G_ASHR %13, %11(<2 x s32>)
    %9:fpr(<2 x s32>) = G_ICMP intpred(slt), %7(<2 x s32>), %8
    %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)
    $d0 = COPY %5(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v8i16_slt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v8i16_slt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGTv8i16_:%[0-9]+]]:fpr128 = CMGTv8i16 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMGTv8i16_]]
    ; CHECK: $d0 = COPY [[XTNv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s16>) = COPY $q0
    %1:fpr(<8 x s16>) = COPY $q1
    %4:fpr(<8 x s16>) = G_ICMP intpred(slt), %0(<8 x s16>), %1
    %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i16_slt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v4i16_slt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGTv4i16_:%[0-9]+]]:fpr64 = CMGTv4i16 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMGTv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s16>) = COPY $d0
    %1:fpr(<4 x s16>) = COPY $d1
    %4:fpr(<4 x s16>) = G_ICMP intpred(slt), %0(<4 x s16>), %1
    %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v16i8_slt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v16i8_slt
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGTv16i8_:%[0-9]+]]:fpr128 = CMGTv16i8 [[COPY1]], [[COPY]]
    ; CHECK: $q0 = COPY [[CMGTv16i8_]]
    ; CHECK: RET_ReallyLR implicit $q0
    %0:fpr(<16 x s8>) = COPY $q0
    %1:fpr(<16 x s8>) = COPY $q1
    %4:fpr(<16 x s8>) = G_ICMP intpred(slt), %0(<16 x s8>), %1
    %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)
    $q0 = COPY %3(<16 x s8>)
    RET_ReallyLR implicit $q0

...
---
name:            test_v8i8_slt
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v8i8_slt
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGTv8i8_:%[0-9]+]]:fpr64 = CMGTv8i8 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMGTv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s8>) = COPY $d0
    %1:fpr(<8 x s8>) = COPY $d1
    %4:fpr(<8 x s8>) = G_ICMP intpred(slt), %0(<8 x s8>), %1
    %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i64_sle
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v2i64_sle
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGEv2i64_:%[0-9]+]]:fpr128 = CMGEv2i64 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMGEv2i64_]]
    ; CHECK: $d0 = COPY [[XTNv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s64>) = COPY $q0
    %1:fpr(<2 x s64>) = COPY $q1
    %4:fpr(<2 x s64>) = G_ICMP intpred(sle), %0(<2 x s64>), %1
    %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i32_sle
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v4i32_sle
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGEv4i32_:%[0-9]+]]:fpr128 = CMGEv4i32 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMGEv4i32_]]
    ; CHECK: $d0 = COPY [[XTNv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s32>) = COPY $q0
    %1:fpr(<4 x s32>) = COPY $q1
    %4:fpr(<4 x s32>) = G_ICMP intpred(sle), %0(<4 x s32>), %1
    %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i32_sle
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i32_sle
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGEv2i32_:%[0-9]+]]:fpr64 = CMGEv2i32 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMGEv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<2 x s32>) = COPY $d0
    %1:fpr(<2 x s32>) = COPY $d1
    %4:fpr(<2 x s32>) = G_ICMP intpred(sle), %0(<2 x s32>), %1
    %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)
    $d0 = COPY %3(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v2i16_sle
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: fpr }
  - { id: 3, class: fpr }
  - { id: 4, class: _ }
  - { id: 5, class: fpr }
  - { id: 6, class: _ }
  - { id: 7, class: fpr }
  - { id: 8, class: fpr }
  - { id: 9, class: fpr }
  - { id: 10, class: gpr }
  - { id: 11, class: fpr }
  - { id: 12, class: fpr }
  - { id: 13, class: fpr }
  - { id: 14, class: gpr }
  - { id: 15, class: fpr }
  - { id: 16, class: fpr }
  - { id: 17, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v2i16_sle
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[ADRP:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui:%[0-9]+]]:fpr64 = LDRDui [[ADRP]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[SHLv2i32_shift:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY]], 16
    ; CHECK: [[NEGv2i32_:%[0-9]+]]:fpr64 = NEGv2i32 [[LDRDui]]
    ; CHECK: [[SSHLv2i32_:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift]], [[NEGv2i32_]]
    ; CHECK: [[ADRP1:%[0-9]+]]:gpr64common = ADRP target-flags(aarch64-page) %const.0
    ; CHECK: [[LDRDui1:%[0-9]+]]:fpr64 = LDRDui [[ADRP1]], target-flags(aarch64-pageoff, aarch64-nc) %const.0
    ; CHECK: [[SHLv2i32_shift1:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY1]], 16
    ; CHECK: [[NEGv2i32_1:%[0-9]+]]:fpr64 = NEGv2i32 [[LDRDui1]]
    ; CHECK: [[SSHLv2i32_1:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift1]], [[NEGv2i32_1]]
    ; CHECK: [[CMGEv2i32_:%[0-9]+]]:fpr64 = CMGEv2i32 [[SSHLv2i32_1]], [[SSHLv2i32_]]
    ; CHECK: $d0 = COPY [[CMGEv2i32_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %2:fpr(<2 x s32>) = COPY $d0
    %3:fpr(<2 x s32>) = COPY $d1
    %14:gpr(s32) = G_CONSTANT i32 16
    %15:fpr(<2 x s32>) = G_BUILD_VECTOR %14(s32), %14(s32)
    %16:fpr(<2 x s32>) = COPY %2(<2 x s32>)
    %17:fpr(<2 x s32>) = G_SHL %16, %15(<2 x s32>)
    %7:fpr(<2 x s32>) = G_ASHR %17, %15(<2 x s32>)
    %10:gpr(s32) = G_CONSTANT i32 16
    %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)
    %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)
    %13:fpr(<2 x s32>) = G_SHL %12, %11(<2 x s32>)
    %8:fpr(<2 x s32>) = G_ASHR %13, %11(<2 x s32>)
    %9:fpr(<2 x s32>) = G_ICMP intpred(sle), %7(<2 x s32>), %8
    %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)
    $d0 = COPY %5(<2 x s32>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v8i16_sle
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v8i16_sle
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGEv8i16_:%[0-9]+]]:fpr128 = CMGEv8i16 [[COPY1]], [[COPY]]
    ; CHECK: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMGEv8i16_]]
    ; CHECK: $d0 = COPY [[XTNv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s16>) = COPY $q0
    %1:fpr(<8 x s16>) = COPY $q1
    %4:fpr(<8 x s16>) = G_ICMP intpred(sle), %0(<8 x s16>), %1
    %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v4i16_sle
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v4i16_sle
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGEv4i16_:%[0-9]+]]:fpr64 = CMGEv4i16 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMGEv4i16_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<4 x s16>) = COPY $d0
    %1:fpr(<4 x s16>) = COPY $d1
    %4:fpr(<4 x s16>) = G_ICMP intpred(sle), %0(<4 x s16>), %1
    %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)
    $d0 = COPY %3(<4 x s16>)
    RET_ReallyLR implicit $d0

...
---
name:            test_v16i8_sle
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $q1

    ; CHECK-LABEL: name: test_v16i8_sle
    ; CHECK: liveins: $q0, $q1
    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
    ; CHECK: [[CMGEv16i8_:%[0-9]+]]:fpr128 = CMGEv16i8 [[COPY1]], [[COPY]]
    ; CHECK: $q0 = COPY [[CMGEv16i8_]]
    ; CHECK: RET_ReallyLR implicit $q0
    %0:fpr(<16 x s8>) = COPY $q0
    %1:fpr(<16 x s8>) = COPY $q1
    %4:fpr(<16 x s8>) = G_ICMP intpred(sle), %0(<16 x s8>), %1
    %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)
    $q0 = COPY %3(<16 x s8>)
    RET_ReallyLR implicit $q0

...
---
name:            test_v8i8_sle
alignment:       4
legalized:       true
regBankSelected: true
tracksRegLiveness: true
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: _ }
  - { id: 3, class: fpr }
  - { id: 4, class: fpr }
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $d0, $d1

    ; CHECK-LABEL: name: test_v8i8_sle
    ; CHECK: liveins: $d0, $d1
    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
    ; CHECK: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1
    ; CHECK: [[CMGEv8i8_:%[0-9]+]]:fpr64 = CMGEv8i8 [[COPY1]], [[COPY]]
    ; CHECK: $d0 = COPY [[CMGEv8i8_]]
    ; CHECK: RET_ReallyLR implicit $d0
    %0:fpr(<8 x s8>) = COPY $d0
    %1:fpr(<8 x s8>) = COPY $d1
    %4:fpr(<8 x s8>) = G_ICMP intpred(sle), %0(<8 x s8>), %1
    %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)
    $d0 = COPY %3(<8 x s8>)
    RET_ReallyLR implicit $d0

...
