[clang] __sys builtin support (PR #145079)
Daniel Paoliello via cfe-commits
cfe-commits at lists.llvm.org
Fri Jun 20 10:51:15 PDT 2025
================
@@ -5471,19 +5471,21 @@ Value *CodeGenFunction::EmitAArch64BuiltinExpr(unsigned BuiltinID,
}
if (BuiltinID == clang::AArch64::BI_ReadStatusReg ||
- BuiltinID == clang::AArch64::BI_WriteStatusReg) {
+ BuiltinID == clang::AArch64::BI_WriteStatusReg ||
+ BuiltinID == clang::AArch64::BI__sys) {
LLVMContext &Context = CGM.getLLVMContext();
unsigned SysReg =
E->getArg(0)->EvaluateKnownConstInt(getContext()).getZExtValue();
std::string SysRegStr;
- llvm::raw_string_ostream(SysRegStr) <<
- ((1 << 1) | ((SysReg >> 14) & 1)) << ":" <<
- ((SysReg >> 11) & 7) << ":" <<
- ((SysReg >> 7) & 15) << ":" <<
- ((SysReg >> 3) & 15) << ":" <<
- ( SysReg & 7);
+ unsigned SysRegOp0 = (BuiltinID != clang::AArch64::BI__sys)
----------------
dpaoliello wrote:
Can you switch the branches here? I'd prefer to avoid a not-equals comparison in a ternary operator.
https://github.com/llvm/llvm-project/pull/145079
More information about the cfe-commits
mailing list