[PATCH] D101076: [SVE][LoopVectorize] Add support for scalable vectorization of first-order recurrences

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 27 05:55:41 PDT 2021


david-arm added inline comments.


================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll:258
+
+define void @PR30183(i32 %pre_load, i32* %a, i32* %b, i64 %n) {
+; CHECK-LABEL: @PR30183
----------------
nit: Again, I'm not sure if this test is really needed here - it doesn't seem like it adds much value over the original fixed width equivalent in llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll to be honest.


================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll:307
+; CHECK: vector.body
+; CHECK: %[[VECTOR_RECUR:.*]] = phi <vscale x 4 x i64> [ %vector.recur.init, %vector.ph ], [ shufflevector (<vscale x 4 x i64> insertelement (<vscale x 4 x i64> undef, i64 1, i32 0), <vscale x 4 x i64> undef, <vscale x 4 x i32> zeroinitializer), %vector.body ]
+; CHECK-NEXT: %[[SPLICE1:.*]] = call <vscale x 4 x i64> @llvm.experimental.vector.splice.nxv4i64(<vscale x 4 x i64> %vector.recur, <vscale x 4 x i64> shufflevector (<vscale x 4 x i64> insertelement (<vscale x 4 x i64> undef, i64 1, i32 0), <vscale x 4 x i64> undef, <vscale x 4 x i32> zeroinitializer), i32 -1)
----------------
nit: Perhaps avoid referring to the variable names `%vector.recur.init` and `%vector.recur`?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D101076/new/

https://reviews.llvm.org/D101076



More information about the llvm-commits mailing list