[PATCH] D79638: [llvm][SVE] IR intrinscs for matrix multiplication instructions.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 11 09:07:29 PDT 2020


sdesmalen added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:1862
+
+  def : Pat<(nxv4i32 (int_aarch64_sve_smmla (nxv4i32 ZPR32:$_Zda_), (nxv16i8 ZPR8:$Zn), (nxv16i8 ZPR8:$Zm))),
+            (SMMLA_ZZZ ZPR32:$_Zda_, ZPR8:$Zn, ZPR8:$Zm)>;
----------------
Can you pass the intrinsic to the multiclass sve_int_matmul and add the pattenrs there? That's what is done for all the other intrinsics.

Same for the other patterns you've added.


================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:1864
+            (SMMLA_ZZZ ZPR32:$_Zda_, ZPR8:$Zn, ZPR8:$Zm)>;
+  def : Pat<(nxv4i32 (int_aarch64_sve_ummla (nxv4i32 ZPR32:$_Zda_), (nxv16i8 ZPR8:$Zn), (nxv16i8 ZPR8:$Zm))),
+            (UMMLA_ZZZ ZPR32:$_Zda_, ZPR8:$Zn, ZPR8:$Zm)>;
----------------
nit: `_Zda_` why the double underscores?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D79638





More information about the llvm-commits mailing list