[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


================
@@ -5424,11 +5422,13 @@ BoUpSLP::getReorderingData(const TreeEntry &TE, bool TopToBottom) {
     }
     if (isSplat(TE.Scalars))
       return std::nullopt;
-    if (TE.Scalars.size() >= 4)
+    if (TE.Scalars.size() >= 3)
       if (std::optional<OrdersType> Order = findPartiallyOrderedLoads(TE))
         return Order;
-    if (std::optional<OrdersType> CurrentOrder = findReusedOrderedScalars(TE))
-      return CurrentOrder;
+
+    if (!TE.isNonPowOf2Vec())
----------------
alexey-bataev wrote:

Add a FIXME to remove this check later

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


More information about the llvm-commits mailing list