[Mlir-commits] [mlir] [MLIR][XeGPU] XeVM lowering support for load_matrix/store_matrix (PR #162780)
Adam Siemieniuk
llvmlistbot at llvm.org
Fri Oct 10 06:02:34 PDT 2025
================
@@ -716,8 +716,30 @@ def XeGPU_MemLayoutAttr : XeGPUAttr<"MemLayout", "mem_layout"> {
return getAttrs().getAs<ArrayAttr>("stride");
}
+ ArrayAttr getBlockAttr() {
+ return getAttrs().getAs<ArrayAttr>("block");
+ }
+
}];
}
+def RowOriented : I32EnumAttrCase<"ROW", 0, "row">;
+def ColOriented : I32EnumAttrCase<"COL", 1, "col">;
+def MatrixAccessDirection :
+ I32EnumAttr<"MatrixAccessDirection",
+ "Matrix elements/vectors can have row or column direction", [
+ RowOriented, ColOriented
+]> {
+ let genSpecializedAttr = 0;
+ let cppNamespace = "::mlir::xegpu";
+}
+def MatrixAccessDirectionAttr :
+ EnumAttr<XeGPU_Dialect,
+ MatrixAccessDirection,
+ "matrix_access_direction">{
+ let summary = [{Describe the direction of memory access for load_matrix and store_matrix.}];
----------------
adam-smnk wrote:
Isn't this already covered by `mem_layout`'s stride?
If stride is really restrictive, could this attr replace it completely?
It's unclear to me how to use this new attr. I had a look at the `vec_direction` test cases but that didn't give me more context.
https://github.com/llvm/llvm-project/pull/162780
More information about the Mlir-commits
mailing list