[PATCH] D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors.
Valeriy Dmitriev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 26 12:05:23 PST 2019
vdmitrie added inline comments.
================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:3032
+ ReuseShuffleIndicies);
+ LLVM_DEBUG(dbgs() << "SLP: Non-consecutive store.\n");
+ return;
----------------
"Non-consecutive" here is not the actual reason.
================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:3038
// Check the order of pointer operands.
- if (llvm::sortPtrAccesses(PointerOps, *DL, *SE, CurrentOrder)) {
+ if (NumberOfInstructions == VL.size()) {
+ if (!llvm::sortPtrAccesses(PointerOps, *DL, *SE, CurrentOrder)) {
----------------
If we have for example this sequence:
store addr[2]
store addr[0]
store addr[1]
undef
then we bypass sorting pointers and end up vectorizing this store sequence with incorrect order.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57059/new/
https://reviews.llvm.org/D57059
More information about the llvm-commits
mailing list