; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc -mtriple=aarch64 %s -o - | FileCheck %s

define <16 x i1> @whilewr_8(ptr %a, ptr %b) {
; CHECK-LABEL: whilewr_8:
; CHECK:       // %bb.0: // %entry
; CHECK-NEXT:    adrp x8, .LCPI0_0
; CHECK-NEXT:    adrp x10, .LCPI0_1
; CHECK-NEXT:    sub x9, x1, x0
; CHECK-NEXT:    ldr q0, [x8, :lo12:.LCPI0_0]
; CHECK-NEXT:    adrp x8, .LCPI0_2
; CHECK-NEXT:    ldr q1, [x10, :lo12:.LCPI0_1]
; CHECK-NEXT:    ldr q3, [x8, :lo12:.LCPI0_2]
; CHECK-NEXT:    adrp x8, .LCPI0_4
; CHECK-NEXT:    adrp x10, .LCPI0_3
; CHECK-NEXT:    ldr q5, [x8, :lo12:.LCPI0_4]
; CHECK-NEXT:    adrp x8, .LCPI0_5
; CHECK-NEXT:    dup v2.2d, x9
; CHECK-NEXT:    ldr q4, [x10, :lo12:.LCPI0_3]
; CHECK-NEXT:    adrp x10, .LCPI0_6
; CHECK-NEXT:    ldr q6, [x8, :lo12:.LCPI0_5]
; CHECK-NEXT:    adrp x8, .LCPI0_7
; CHECK-NEXT:    ldr q7, [x10, :lo12:.LCPI0_6]
; CHECK-NEXT:    cmp x9, #1
; CHECK-NEXT:    ldr q16, [x8, :lo12:.LCPI0_7]
; CHECK-NEXT:    cmhi v0.2d, v2.2d, v0.2d
; CHECK-NEXT:    cmhi v1.2d, v2.2d, v1.2d
; CHECK-NEXT:    cmhi v3.2d, v2.2d, v3.2d
; CHECK-NEXT:    cmhi v4.2d, v2.2d, v4.2d
; CHECK-NEXT:    cmhi v5.2d, v2.2d, v5.2d
; CHECK-NEXT:    cmhi v6.2d, v2.2d, v6.2d
; CHECK-NEXT:    cmhi v7.2d, v2.2d, v7.2d
; CHECK-NEXT:    cmhi v2.2d, v2.2d, v16.2d
; CHECK-NEXT:    uzp1 v0.4s, v1.4s, v0.4s
; CHECK-NEXT:    cset w8, lt
; CHECK-NEXT:    uzp1 v1.4s, v4.4s, v3.4s
; CHECK-NEXT:    uzp1 v3.4s, v6.4s, v5.4s
; CHECK-NEXT:    uzp1 v2.4s, v2.4s, v7.4s
; CHECK-NEXT:    uzp1 v0.8h, v1.8h, v0.8h
; CHECK-NEXT:    uzp1 v1.8h, v2.8h, v3.8h
; CHECK-NEXT:    uzp1 v0.16b, v1.16b, v0.16b
; CHECK-NEXT:    dup v1.16b, w8
; CHECK-NEXT:    orr v0.16b, v0.16b, v1.16b
; CHECK-NEXT:    ret
entry:
  %0 = call <16 x i1> @llvm.loop.dependence.war.mask.v16i1(ptr %a, ptr %b, i64 1)
  ret <16 x i1> %0
}
