[PATCH] D95350: [SVE][LoopVectorize] Add gather/scatter support for SVE

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 27 03:10:34 PST 2021


fhahn edited reviewers, added: fhahn; removed: Florian.
fhahn added inline comments.


================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll:12
+entry:
+  %cmp10 = icmp sgt i64 %n, 0
+  br i1 %cmp10, label %for.body.preheader, label %for.cond.cleanup
----------------
This shouldn't be necessary, LV will generate a minimum iteration check anyways.


================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll:15
+
+for.body.preheader:                               ; preds = %entry
+  br label %for.body
----------------
are those blocks needed?


================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll:28
+  %0 = load i32, i32* %arrayidx, align 4
+  %idxprom2 = sext i32 %0 to i64
+  %arrayidx3 = getelementptr inbounds float, float* %a, i64 %idxprom2
----------------
Is this necessary? Can we instead just load from a `i64*` or use `i32` in the GEP? Same for the other tests.


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

https://reviews.llvm.org/D95350



More information about the llvm-commits mailing list