[PATCH] D99669: [RISCV][Clang] Add more RVV Floating-Point intrinsic functions.

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 6 10:15:36 PDT 2021


craig.topper added inline comments.


================
Comment at: clang/include/clang/Basic/riscv_vector.td:315
+multiclass RVVFloatingWidenTerBuiltinSet {
+  let HasMaskedOffOperand = false, Log2LMUL = [-2, -1, 0, 1, 2] in {
+    defm "" : RVVOutOp1Op2BuiltinSet<NAME, "f",
----------------
khchen wrote:
> HsiangKai wrote:
> > why is there not -3 in Log2LMUL?
> Because there is no vector floating type with `mf8`. 
> The minimum faction LMUL for floating is `mf2` and half float is `mf4`.
> In fact, we can give all LMUL combinations because the clang generator will make sure the type is legal.
Since we're not generating "h" here it should either be all LMULs or remove -2 as well.


================
Comment at: clang/include/clang/Basic/riscv_vector.td:816
 // 14.6. Vector Single-Width Floating-Point Fused Multiply-Add Instructions
-// TODO
+defm vfmacc : RVVFloatingTerBuiltinSet;
+defm vfnmacc : RVVFloatingTerBuiltinSet;
----------------
Can we line up the colons here so that RVVFloatingTerBuiltinSet is in the same place in every line?


================
Comment at: clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwadd.c:54
+                                  size_t vl) {
+  return vfwadd(op1, op2, vl);
+}
----------------
Are we going to fix the inconsistency with vfwadd_vf?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99669



More information about the cfe-commits mailing list