[clang] a1341c9 - [CIR][RISCV] Add new builtins (#211555)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 24 02:30:20 PDT 2026
Author: Jianjian Guan
Date: 2026-07-24T17:30:16+08:00
New Revision: a1341c9cf78771b5a031fd295e091d3dd34fab0b
URL: https://github.com/llvm/llvm-project/commit/a1341c9cf78771b5a031fd295e091d3dd34fab0b
DIFF: https://github.com/llvm/llvm-project/commit/a1341c9cf78771b5a031fd295e091d3dd34fab0b.diff
LOG: [CIR][RISCV] Add new builtins (#211555)
Leave them NYI now.
Added:
Modified:
clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
Removed:
################################################################################
diff --git a/clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp b/clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
index 25e714a612147..ea04fddc1b710 100644
--- a/clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
+++ b/clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
@@ -100,7 +100,25 @@ CIRGenFunction::emitRISCVBuiltinExpr(unsigned builtinID, const CallExpr *e) {
intrinsicName = "riscv.unzip";
break;
}
- // Zknh
+ // Zknd
+ case RISCV::BI__builtin_riscv_aes32dsi:
+ case RISCV::BI__builtin_riscv_aes32dsmi:
+ case RISCV::BI__builtin_riscv_aes64ds:
+ case RISCV::BI__builtin_riscv_aes64dsm:
+ case RISCV::BI__builtin_riscv_aes64im:
+ // Zknd & Zkne
+ case RISCV::BI__builtin_riscv_aes64ks1i:
+ case RISCV::BI__builtin_riscv_aes64ks2:
+ // Zkne
+ case RISCV::BI__builtin_riscv_aes32esi:
+ case RISCV::BI__builtin_riscv_aes32esmi:
+ case RISCV::BI__builtin_riscv_aes64es:
+ case RISCV::BI__builtin_riscv_aes64esm: {
+ cgm.errorNYI(e->getSourceRange(),
+ std::string("unimplemented RISC-V builtin call: ") +
+ getContext().BuiltinInfo.getName(builtinID));
+ return mlir::Value{};
+ }
case RISCV::BI__builtin_riscv_sha256sig0: {
intrinsicName = "riscv.sha256sig0";
break;
@@ -117,6 +135,21 @@ CIRGenFunction::emitRISCVBuiltinExpr(unsigned builtinID, const CallExpr *e) {
intrinsicName = "riscv.sha256sum1";
break;
}
+ case RISCV::BI__builtin_riscv_sha512sig0h:
+ case RISCV::BI__builtin_riscv_sha512sig0l:
+ case RISCV::BI__builtin_riscv_sha512sig1h:
+ case RISCV::BI__builtin_riscv_sha512sig1l:
+ case RISCV::BI__builtin_riscv_sha512sum0r:
+ case RISCV::BI__builtin_riscv_sha512sum1r:
+ case RISCV::BI__builtin_riscv_sha512sig0:
+ case RISCV::BI__builtin_riscv_sha512sig1:
+ case RISCV::BI__builtin_riscv_sha512sum0:
+ case RISCV::BI__builtin_riscv_sha512sum1: {
+ cgm.errorNYI(e->getSourceRange(),
+ std::string("unimplemented RISC-V builtin call: ") +
+ getContext().BuiltinInfo.getName(builtinID));
+ return mlir::Value{};
+ }
// Zksed
case RISCV::BI__builtin_riscv_sm4ks: {
intrinsicName = "riscv.sm4ks";
@@ -282,6 +315,16 @@ CIRGenFunction::emitRISCVBuiltinExpr(unsigned builtinID, const CallExpr *e) {
return mlir::Value{};
}
+ // XMIPS execution control
+ case RISCV::BI__builtin_riscv_mips_pause:
+ case RISCV::BI__builtin_riscv_mips_ehb:
+ case RISCV::BI__builtin_riscv_mips_ihb: {
+ cgm.errorNYI(e->getSourceRange(),
+ std::string("unimplemented RISC-V builtin call: ") +
+ getContext().BuiltinInfo.getName(builtinID));
+ return mlir::Value{};
+ }
+
// TODO: Handle vector builtins in tablegen.
}
More information about the cfe-commits
mailing list