[PATCH] D79639: [SveEmitter] Builtins for SVE matrix multiply `mmla`.

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


sdesmalen added inline comments.


================
Comment at: clang/include/clang/Basic/arm_sve.td:74
 // q: 1/4 width elements, 4x element count
+// b: 1/4 width elements, 4x element count, integer, unsigned
 // o: 4x width elements, 1/4 element count
----------------
Can you phrase this like `e` and move it below `e` as well:

  1/4 width unsigned elements, 4 x element count


================
Comment at: clang/include/clang/Basic/arm_sve.td:1228
+let ArchGuard = "defined(__ARM_FEATURE_SVE_MATMUL_INT8)" in {
+def SVMLLA_S32 : SInst<"svmmla[_s32]", "ddqq","i", MergeNone, "aarch64_sve_smmla">;
+def SVMLLA_U32 : SInst<"svmmla[_u32]", "ddqq","Ui", MergeNone, "aarch64_sve_ummla">;
----------------
nit: please fix the alignment like how this is done for the other definitions.


================
Comment at: clang/lib/CodeGen/CGBuiltin.cpp:7988
 
-  auto *Builtin = findARMVectorIntrinsicInMap(AArch64SVEIntrinsicMap, BuiltinID,
-                                              AArch64SVEIntrinsicsProvenSorted);
+  const ARMVectorIntrinsicInfo *Builtin = findARMVectorIntrinsicInMap(
+      AArch64SVEIntrinsicMap, BuiltinID, AArch64SVEIntrinsicsProvenSorted);
----------------
unnecessary change, please remove.


================
Comment at: clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp32.c:1
+// RUN: %clang_cc1 -D__ARM_FEATURE_SVE -D__ARM_FEATURE_SVE_MATMUL_FP32 \
+// RUN:            -triple aarch64-none-linux-gnu -target-feature +sve \
----------------
nit: These RUN lines no longer match all the other ACLE tests (with the added newlines)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D79639





More information about the cfe-commits mailing list