blob: 922b37c2f2a08ca91c0ef2ed4d29f96ba909c5d3 [file] [log] [blame]
; 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
}