[Mlir-commits] [mlir] [MLIR][NVVM] Update TMA tensor prefetch Op (PR #153464)

Guray Ozen llvmlistbot at llvm.org
Thu Aug 14 03:36:30 PDT 2025


================
@@ -2253,6 +2253,56 @@ def NVVM_MmaOp : NVVM_Op<"mma.sync", [AttrSizedOperandSegments]> {
 // NVVM TMA Ops
 //===----------------------------------------------------------------------===//
 
+// List of modes supported for TMA Load and Prefetch Ops
+def TMALoadModeTile   : I32EnumAttrCase<"TILE", 0, "tile">;
+def TMALoadModeIm2Col : I32EnumAttrCase<"IM2COL", 1, "im2col">;
+def TMALoadModeIm2ColW : I32EnumAttrCase<"IM2COL_W", 2, "im2col_w">;
+def TMALoadModeIm2ColW128 : I32EnumAttrCase<"IM2COL_W_128", 3, "im2col_w_128">;
+def TMALoadModeTileGather4 : I32EnumAttrCase<"TILE_GATHER4", 4, "tile_gather4">;
----------------
grypp wrote:

So we are implementing the load mode:

 ```
.load_mode = { .tile, .tile::gather4, .im2col, .im2col::w, .im2col::w::128 }
 ```

 `tile::` and `im2col::` are implemented as main modes, while `gather4` and `w` are their sub-details.

 Is it possible to implement this in the NVVM dialect?


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


More information about the Mlir-commits mailing list