; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple aarch64-apple-darwin | FileCheck %s
+; RUN: llc --mattr=+sve < %s -mtriple aarch64-apple-darwin | FileCheck %s
define <4 x double> @test_ldnp_v4f64(<4 x double>* %A) {
; CHECK-LABEL: test_ldnp_v4f64:
ret <16 x double> %lv
}
+define <vscale x 20 x float> @test_ldnp_v20f32_vscale(<vscale x 20 x float>* %A) {
+; CHECK-LABEL: test_ldnp_v20f32_vscale:
+; CHECK: ; %bb.0:
+; CHECK-NEXT: ptrue p0.s
+; CHECK-NEXT: ld1w { z0.s }, p0/z, [x0]
+; CHECK-NEXT: ld1w { z1.s }, p0/z, [x0, #1, mul vl]
+; CHECK-NEXT: ld1w { z2.s }, p0/z, [x0, #2, mul vl]
+; CHECK-NEXT: ld1w { z3.s }, p0/z, [x0, #3, mul vl]
+; CHECK-NEXT: ld1w { z4.s }, p0/z, [x0, #4, mul vl]
+; CHECK-NEXT: ret
+ %lv = load<vscale x 20 x float>, <vscale x 20 x float>* %A, align 8, !nontemporal !0
+ ret <vscale x 20 x float> %lv
+}
!0 = !{i32 1}