[llvm] [SLP] Enable reordering for non-power-of-two vectors (PR #106638)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 4 12:52:00 PDT 2024


================
@@ -5195,13 +5194,12 @@ static bool areTwoInsertFromSameBuildVector(
 
 std::optional<BoUpSLP::OrdersType>
 BoUpSLP::getReorderingData(const TreeEntry &TE, bool TopToBottom) {
-  // FIXME: Vectorizing is not supported yet for non-power-of-2 ops.
-  if (TE.isNonPowOf2Vec())
-    return std::nullopt;
-
   // No need to reorder if need to shuffle reuses, still need to shuffle the
   // node.
   if (!TE.ReuseShuffleIndices.empty()) {
+    assert(!TE.isNonPowOf2Vec() &&
+           "Reshuffling scalars not yet supported for nodes with padding");
----------------
alexey-bataev wrote:

Add a FIXME

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


More information about the llvm-commits mailing list