From: Ju-Zhe Zhong <juzhe.zh...@rivai.ai>

According to https://github.com/riscv-non-isa/rvv-intrinsic-doc/tree/master/
For "vop_m" intrinsics, C++ overloaded API does not have "_m" suffix.

gcc/ChangeLog:

        * config/riscv/riscv-vector-builtins-shapes.cc (struct loadstore_def): 
Remove _m suffix for "vop_m" C++ overloaded API name.

---
 gcc/config/riscv/riscv-vector-builtins-shapes.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gcc/config/riscv/riscv-vector-builtins-shapes.cc 
b/gcc/config/riscv/riscv-vector-builtins-shapes.cc
index 76cf14a8cc4..56697f71cbd 100644
--- a/gcc/config/riscv/riscv-vector-builtins-shapes.cc
+++ b/gcc/config/riscv/riscv-vector-builtins-shapes.cc
@@ -128,6 +128,10 @@ struct loadstore_def : public build_base
        b.append_name (type_suffixes[instance.type.index].vector);
       }
 
+    /* According to rvv-intrinsic-doc, it does not add "_m" suffix
+       for vop_m C++ overloaded API.  */
+    if (overloaded_p && instance.pred == PRED_TYPE_m)
+      return b.finish_name ();
     b.append_name (predication_suffixes[instance.pred]);
     return b.finish_name ();
   }
-- 
2.36.3

Reply via email to