[llvm] [SLP]Initial non-power-of-2 (but still whole register) for remaining nodes (PR #113356)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 21 06:07:38 PST 2025
================
@@ -5091,12 +5093,13 @@ BoUpSLP::canVectorizeLoads(ArrayRef<Value *> VL, const Value *VL0,
});
});
const unsigned AbsoluteDiff = std::abs(*Diff);
- if (IsPossibleStrided && (IsAnyPointerUsedOutGraph ||
- ((Sz > MinProfitableStridedLoads ||
- (AbsoluteDiff <= MaxProfitableLoadStride * Sz &&
- has_single_bit(AbsoluteDiff))) &&
- AbsoluteDiff > Sz) ||
- *Diff == -(static_cast<int>(Sz) - 1))) {
+ if (IsPossibleStrided &&
+ (IsAnyPointerUsedOutGraph ||
+ ((Sz > MinProfitableStridedLoads ||
+ (AbsoluteDiff <= MaxProfitableLoadStride * Sz && AbsoluteDiff > Sz &&
+ AbsoluteDiff % Sz == 0 && has_single_bit(AbsoluteDiff / Sz))) &&
+ AbsoluteDiff > Sz) ||
----------------
RKSimon wrote:
duplicate `AbsoluteDiff > Sz` ?
https://github.com/llvm/llvm-project/pull/113356
More information about the llvm-commits
mailing list