[llvm] [SLP]Initial support for non-power-of-2 (but still whole register) number of elements in operands. (PR #107273)
Alexey Bataev via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 6 13:07:51 PDT 2024
================
@@ -4781,12 +4814,13 @@ BoUpSLP::LoadsState BoUpSLP::canVectorizeLoads(
});
});
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 &&
+ hasFullVectorsOnly(*TTI, ScalarTy, AbsoluteDiff))) &&
----------------
alexey-bataev wrote:
Mistakenly replaced, when searched for has_single_bit function use
https://github.com/llvm/llvm-project/pull/107273
More information about the llvm-commits
mailing list