[llvm] [NVVM][NVPTX] Add tensor map override support in S2G and Reduce intrinsics (PR #215503)

Durgadoss R via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 12 05:49:29 PDT 2026


================
@@ -858,13 +858,187 @@ foreach dim = 3...5 in {
 defm TMA_S2G_TILE_SCATTER4_2D : TMA_TENSOR_S2G_INTR<5, "tile_scatter4",
                                 [callSubtarget<"hasTMABlackwellSupport">]>;
 
+// Base class for TMA tensor override intrinsics
+class TMA_TENSOR_OVERRIDE_BASE<int dim, string mode, string override> {
+  // Dimension handling
+  dag dims_dag = !dag(ins, !listsplat(B32, dim), !foreach(i, !range(dim), "d" # i));
+  string dims_str = !interleave(!foreach(i, !range(dim), "$d" # i), ", ");
+  bit has_multi_dim = !ge(dim, 2);
+
+  // Im2col handling (im2col / im2col_w / im2col_w_128)
+  int num_im2col = !cond(!eq(mode, "im2col"): !add(dim, -2),
+                         !eq(mode, "im2col_w"): 2,
+                         !eq(mode, "im2col_w_128"): 2,
+                         true: 0);
+  dag im2col_dag = !dag(ins, !listsplat(B16, num_im2col),
+                        !foreach(i, !range(num_im2col), "im2col" # i));
----------------
durga4github wrote:

Sure. (as a separate PR later)

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


More information about the llvm-commits mailing list