[Mlir-commits] [mlir] [MLIR][XeGPU] Support partial subgroup lane distribution (PR #201667)

Artem Kroviakov llvmlistbot at llvm.org
Mon Jun 8 05:05:55 PDT 2026


================
@@ -1531,7 +1538,99 @@ struct SgToLaneConvertLayout
       return rewriter.notifyMatchFailure(
           op, "lowering incompatible convert_layout not yet supported");
     }
+    // Handle special case where laneLayout involves partial subgroup
+    if (inputLayout.getEffectiveOrderAsInt() ==
+            targetLayout.getEffectiveOrderAsInt() &&
+        inputLayout.getRank() == 2 && targetLayout.getRank() == 2) {
+      auto laneLayout = inputLayout.getEffectiveLaneLayoutAsInt();
+      auto targetLaneLayout = targetLayout.getEffectiveLaneLayoutAsInt();
+      auto dataLayout = inputLayout.getEffectiveLaneDataAsInt();
+      auto targetDataLayout = targetLayout.getEffectiveLaneDataAsInt();
+      if (dataLayout == targetDataLayout && laneLayout != targetLaneLayout) {
+        int64_t factor = 1;
+        int64_t distDim = 1;
+        if (laneLayout[0] == 1) {
----------------
akroviakov wrote:

Do we account for lane layout `[1,1]`?

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


More information about the Mlir-commits mailing list