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

Jianhui Li llvmlistbot at llvm.org
Tue May 5 08:00:30 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(
----------------
Jianhui-Li wrote:

Deinterleave doesn't have specific requirement about the result layout, as it just double the inner dimension of lane_data. 

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


More information about the Mlir-commits mailing list