[AArch64] Add test for vscale nontemporal loads larger than 256.
authorZain Jaffal <z_jaffal@apple.com>
Thu, 8 Sep 2022 15:42:11 +0000 (16:42 +0100)
committerFlorian Hahn <flo@fhahn.com>
Thu, 8 Sep 2022 16:03:44 +0000 (17:03 +0100)
Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D133498

llvm/test/CodeGen/AArch64/nontemporal-load.ll

index 84adcaf..bc054f2 100644 (file)
@@ -1,5 +1,5 @@
 ; 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:
@@ -333,5 +333,18 @@ define <16 x double> @test_ldnp_v16f64(<16 x double>* %A) {
   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}