; 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 }