[clang] [clang] Lower modf builtin using `llvm.modf` intrinsic (PR #126750)

Benjamin Maxwell via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 11 09:54:10 PST 2025


================
@@ -859,6 +859,24 @@ static void emitSincosBuiltin(CodeGenFunction &CGF, const CallExpr *E,
   StoreCos->setMetadata(LLVMContext::MD_noalias, AliasScopeList);
 }
 
+static llvm::Value *emitModfBuiltin(CodeGenFunction &CGF, const CallExpr *E,
+                                    llvm::Intrinsic::ID IntrinsicID) {
+  llvm::Value *Val = CGF.EmitScalarExpr(E->getArg(0));
+  llvm::Value *IntPartDest = CGF.EmitScalarExpr(E->getArg(1));
+
+  llvm::Function *F = CGF.CGM.getIntrinsic(IntrinsicID, {Val->getType()});
+  llvm::Value *Call = CGF.Builder.CreateCall(F, Val);
----------------
MacDue wrote:

Done :+1: 

https://github.com/llvm/llvm-project/pull/126750


More information about the cfe-commits mailing list