[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:01 PDT 2024


================
@@ -5585,7 +5619,7 @@ void BoUpSLP::reorderTopToBottom() {
 
   // Reorder the graph nodes according to their vectorization factor.
   for (unsigned VF = VectorizableTree.front()->getVectorFactor(); VF > 1;
-       VF = bit_ceil(VF) / 2) {
+       VF = (VF & ~1U) - 2) {
----------------
alexey-bataev wrote:

If VF is odd (for 3, 7, etc. number of elements), want to try next even. I reworked it to `VF += 2 - (VF & 1)` to jump over even VFs

https://github.com/llvm/llvm-project/pull/107273


More information about the llvm-commits mailing list