================
@@ -324,6 +328,62 @@ void emitCodeGenSwitchBody(const RVVIntrinsic *RVVI,
raw_ostream &OS) {
OS << " break;\n";
}
+void emitCIRCodeGenSwitchBody(const RVVIntrinsic *RVVI, raw_ostream &OS) {
+ if (!RVVI->getIRName().empty()) {
+ std::string IRName = RVVI->getIRName().str();
+ if (RVVI->isMasked())
+ IRName = StringRef(IRName).rsplit("_mask").first.str() + ".mask";
+ OS << " intrinsicName = \"riscv." << IRName << "\";\n";
+ }
+
+ if (RVVI->hasManualCodegen()) {
+ OS << " hasCirManualCodegen = true;\n";
----------------
wangpc-pp wrote:
We need to write two `ManualCodegen`s? One for Clang AST and one for CIR?
https://github.com/llvm/llvm-project/pull/199889
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits