[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