[PATCH] D99526: [RISCV][Clang] Add RVV Widening Integer Add/Subtract intrinsic functions.

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 31 16:43:21 PDT 2021


craig.topper added inline comments.


================
Comment at: clang/include/clang/Basic/riscv_vector.td:282
+    }
+    // Encode vx/wx in the sufffix of mangled name
+    let Name = NAME # "_" # vx_suffixes_prototype[0],
----------------
sufffix->suffix


================
Comment at: clang/include/clang/Basic/riscv_vector.td:302
+    }
+    // Encode vx/wx in the sufffix of mangled name
+    let Name = NAME # "_" # vx_suffixes_prototype[0],
----------------
sufffix->suffix


================
Comment at: clang/include/clang/Basic/riscv_vector.td:312
+
+multiclass RVVSignedWidenBinBuiltinSet<bit has_widden_op = false> {
+  if has_widden_op then {
----------------
widden->widen


================
Comment at: clang/include/clang/Basic/riscv_vector.td:312
+
+multiclass RVVSignedWidenBinBuiltinSet<bit has_widden_op = false> {
+  if has_widden_op then {
----------------
craig.topper wrote:
> widden->widen
I'm not sure having a multiclass that takes a bool is better than just having 2 different multiclasses.


================
Comment at: clang/include/clang/Basic/riscv_vector.td:325
+multiclass RVVUnsignedWidenBinBuiltinSet<bit has_widden_op = false> {
+  if has_widden_op then {
+    defm "" : RVVWidenBuiltinSet<NAME, "csi",
----------------
widden->widen


================
Comment at: clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwadd.c:35
+vint16mf4_t test_vwadd_vx_i16mf4(vint8mf8_t op1, int8_t op2, size_t vl) {
+  return vwadd_vx(op1, op2, vl);
+}
----------------
Why do scalars require _wx or _vx, but vector don't need a suffix?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99526



More information about the cfe-commits mailing list