From f4efdd970060c9b6d96495b8a47f8dbee6087df8 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Fri, 21 Jun 2024 14:06:26 -0400 Subject: [PATCH] xo-pyexpression: supply llvm intrinsic to each primitive --- src/pyexpression/pyexpression.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/pyexpression/pyexpression.cpp b/src/pyexpression/pyexpression.cpp index 10307d68..0768c502 100644 --- a/src/pyexpression/pyexpression.cpp +++ b/src/pyexpression/pyexpression.cpp @@ -118,17 +118,20 @@ namespace xo { m.def("make_sqrt_pm", []() { return make_primitive("sqrt", ::sqrt, - false /*!explicit_symbol_def*/); }, + false /*!explicit_symbol_def*/, + llvmintrinsic::fp_sqrt); }, py::doc("create primitive representing the ::sqrt() function")); m.def("make_sin_pm", []() { return make_primitive("sin", ::sin, - false /*!explicit_symbol_def*/); }, + false /*!explicit_symbol_def*/, + llvmintrinsic::fp_sin); }, py::doc("create primitive representing the ::sin() function")); m.def("make_cos_pm", []() { return make_primitive("cos", ::cos, - false /*!explicit_symbol_def*/); }, + false /*!explicit_symbol_def*/, + llvmintrinsic::fp_cos); }, py::doc("create primitive representing the ::cos() function")); py::class_, @@ -139,7 +142,8 @@ namespace xo { m.def("make_pow_pm", []() { return make_primitive("pow", ::pow, - false /*!explicit_symbol_def*/); }, + false /*!explicit_symbol_def*/, + llvmintrinsic::fp_pow); }, py::doc("create primitive representing the ::pow() function")); // ----- Apply -----