[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