summaryrefslogtreecommitdiff
path: root/compiler/codeGen
diff options
context:
space:
mode:
authorchessai <chessai1996@gmail.com>2019-02-01 13:01:46 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-06-09 18:41:02 -0400
commitf737033329817335bc01ab16a385b4b5ec5b3b5d (patch)
treec437a8e0f813be553bec23b6cc9e9dd960707ddd /compiler/codeGen
parenta018c3a84c88f6208e7bd5587af1cdf40c2ae991 (diff)
downloadhaskell-f737033329817335bc01ab16a385b4b5ec5b3b5d.tar.gz
Introduce log1p and expm1 primops
Previously log and exp were primitives yet log1p and expm1 were FFI calls. Fix this non-uniformity.
Diffstat (limited to 'compiler/codeGen')
-rw-r--r--compiler/codeGen/StgCmmPrim.hs4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/codeGen/StgCmmPrim.hs b/compiler/codeGen/StgCmmPrim.hs
index 5e3d03579a..f5b8e0f3d6 100644
--- a/compiler/codeGen/StgCmmPrim.hs
+++ b/compiler/codeGen/StgCmmPrim.hs
@@ -1513,7 +1513,9 @@ callishOp DoubleAsinhOp = Just MO_F64_Asinh
callishOp DoubleAcoshOp = Just MO_F64_Acosh
callishOp DoubleAtanhOp = Just MO_F64_Atanh
callishOp DoubleLogOp = Just MO_F64_Log
+callishOp DoubleLog1POp = Just MO_F64_Log1P
callishOp DoubleExpOp = Just MO_F64_Exp
+callishOp DoubleExpM1Op = Just MO_F64_ExpM1
callishOp DoubleSqrtOp = Just MO_F64_Sqrt
callishOp FloatPowerOp = Just MO_F32_Pwr
@@ -1530,7 +1532,9 @@ callishOp FloatAsinhOp = Just MO_F32_Asinh
callishOp FloatAcoshOp = Just MO_F32_Acosh
callishOp FloatAtanhOp = Just MO_F32_Atanh
callishOp FloatLogOp = Just MO_F32_Log
+callishOp FloatLog1POp = Just MO_F32_Log1P
callishOp FloatExpOp = Just MO_F32_Exp
+callishOp FloatExpM1Op = Just MO_F32_ExpM1
callishOp FloatSqrtOp = Just MO_F32_Sqrt
callishOp _ = Nothing