[Mlir-commits] [mlir] [MLIR][XeGPU] Support Layout propagation for interleave and deintereleave op (PR #194966)

Artem Kroviakov llvmlistbot at llvm.org
Thu Apr 30 03:04:12 PDT 2026


================
@@ -161,6 +171,14 @@ DistributeLayoutAttr setupBitCastResultLayout(
     LayoutKind layoutKind, VectorType srcVectorTy, VectorType resVectorTy,
     DistributeLayoutAttr consumerLayout, const uArch::uArch *uArch);
 
+/// Sets up the result layout for an interleave operation to ensure the source
+/// layout can be safely derived. Interleave doubles the innermost dimension,
+/// so the result layout must ensure that laneData is at least 2 (or a multiple
+/// of 2), and instData must be divisible by innermostDimLaneLayout * 2.
+DistributeLayoutAttr setupInterleaveResultLayout(
----------------
akroviakov wrote:

What about `setupDeinterleaveResultLayout`?

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


More information about the Mlir-commits mailing list