[PATCH] D91927: [X86] Add x86_amx type for intel AMX.

Pengfei Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 23 23:35:14 PST 2020


pengfei added inline comments.


================
Comment at: llvm/lib/Target/X86/X86LowerAMXType.cpp:243
+        }
+        // If load has mutli-user, duplicate a amx load.
+        // %src = load <256 x i32>, <256 x i32>* %addr, align 64
----------------
vector


================
Comment at: llvm/lib/Target/X86/X86LowerAMXType.cpp:312
+  SmallSet<Instruction *, 8> DeletedInst;
+  auto DeleteInst = [&](Instruction *Inst) {
+    SmallVector<Instruction *, 4> DeadIs;
----------------
Why we need to recursively delete them? I think delete the nodes in DeadInsts is enough.


================
Comment at: llvm/lib/Target/X86/X86LowerAMXType.cpp:124
+  auto *II = cast<IntrinsicInst>(Tile);
+  // Tile is output from AMX intrinsic. The first operand of the
+  // intrinsic is row, the second operand of the intrinsic is column.
----------------
LuoYuanke wrote:
> pengfei wrote:
> > How about the `Tile` comes from tdpbssd?
> We have a convention, when amx intrinsics define a x86_amx tile the first 2 operands is the shape of the defined tile. For tdpbssd, the intrinsics operands are (m, n, k, ...). (m, n) is the shape of the produced tile.
Oh, yes. I missed that. Thanks.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91927/new/

https://reviews.llvm.org/D91927



More information about the llvm-commits mailing list