[llvm] [NVPTX] Lower stmatrix intrinsics to PTX (PR #148561)

Artem Belevich via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 17 11:59:00 PDT 2025


================
@@ -4878,6 +4885,40 @@ defset list<WMMA_INSTR> LDMATRIXs  = {
   } // transposed
 } // defset
 
+//
+// stmatrix.sync.aligned.m8n8[|.trans][|.shared].b16
+//
+class STMATRIX<WMMA_REGINFO Frag, bit Transposed, string Space>
+  : WMMA_INSTR<STMATRIX_NAME<Frag, Transposed>.record, [!con((ins ADDR:$dst), Frag.Ins)]>,
+    Requires<Frag.Predicates> {
+  // Build PatFrag that only matches particular address space.
+  dag PFOperands = !con((ops node:$dst), !dag(ops, !listsplat(node, !size(Frag.regs)), Frag.reg_names));
+  PatFrag IntrFrag = PatFrag<PFOperands, !foreach(tmp, PFOperands, !subst(ops, Intr, tmp)),
----------------
Artem-B wrote:

Nit: reformat to wrap long lines.

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


More information about the llvm-commits mailing list