summaryrefslogtreecommitdiff
path: root/compiler/cmm
diff options
context:
space:
mode:
authorArtem Pelenitsyn <a.pelenitsyn@gmail.com>2018-08-21 16:07:24 -0400
committerBen Gamari <ben@smart-cactus.org>2018-08-21 18:56:12 -0400
commitc6f4eb4f8bc5e00024c74198ab9126bf1750db40 (patch)
tree25f32efe0e0e9b14c1d028d88a4e9aa3f1cb3c5a /compiler/cmm
parentc331592130ef592b92084e7417581a4039bfa7d2 (diff)
downloadhaskell-c6f4eb4f8bc5e00024c74198ab9126bf1750db40.tar.gz
Fix precision of asinh/acosh/atanh by making them primops
Reviewers: hvr, bgamari, simonmar, jrtc27 Reviewed By: bgamari Subscribers: alpmestan, rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D5034
Diffstat (limited to 'compiler/cmm')
-rw-r--r--compiler/cmm/CmmMachOp.hs6
-rw-r--r--compiler/cmm/PprC.hs6
2 files changed, 12 insertions, 0 deletions
diff --git a/compiler/cmm/CmmMachOp.hs b/compiler/cmm/CmmMachOp.hs
index 15a5827643..c5e9d9bf27 100644
--- a/compiler/cmm/CmmMachOp.hs
+++ b/compiler/cmm/CmmMachOp.hs
@@ -531,6 +531,9 @@ data CallishMachOp
| MO_F64_Asin
| MO_F64_Acos
| MO_F64_Atan
+ | MO_F64_Asinh
+ | MO_F64_Acosh
+ | MO_F64_Atanh
| MO_F64_Log
| MO_F64_Exp
| MO_F64_Fabs
@@ -545,6 +548,9 @@ data CallishMachOp
| MO_F32_Asin
| MO_F32_Acos
| MO_F32_Atan
+ | MO_F32_Asinh
+ | MO_F32_Acosh
+ | MO_F32_Atanh
| MO_F32_Log
| MO_F32_Exp
| MO_F32_Fabs
diff --git a/compiler/cmm/PprC.hs b/compiler/cmm/PprC.hs
index 9e8ced88b5..a979d49501 100644
--- a/compiler/cmm/PprC.hs
+++ b/compiler/cmm/PprC.hs
@@ -775,6 +775,9 @@ pprCallishMachOp_for_C mop
MO_F64_Tanh -> text "tanh"
MO_F64_Asin -> text "asin"
MO_F64_Acos -> text "acos"
+ MO_F64_Atanh -> text "atanh"
+ MO_F64_Asinh -> text "asinh"
+ MO_F64_Acosh -> text "acosh"
MO_F64_Atan -> text "atan"
MO_F64_Log -> text "log"
MO_F64_Exp -> text "exp"
@@ -790,6 +793,9 @@ pprCallishMachOp_for_C mop
MO_F32_Asin -> text "asinf"
MO_F32_Acos -> text "acosf"
MO_F32_Atan -> text "atanf"
+ MO_F32_Asinh -> text "asinhf"
+ MO_F32_Acosh -> text "acoshf"
+ MO_F32_Atanh -> text "atanhf"
MO_F32_Log -> text "logf"
MO_F32_Exp -> text "expf"
MO_F32_Sqrt -> text "sqrtf"