summaryrefslogtreecommitdiff
path: root/compiler/llvmGen
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2012-04-21 15:03:23 +0100
committerIan Lynagh <igloo@earth.li>2012-04-21 15:03:23 +0100
commit5136d64e47155070f9c7129b53156545a79b5e00 (patch)
treef8a1341382275a461ac286469f1c3341277f25ac /compiler/llvmGen
parent6508697f398fa4e9241cec88991772eda86e37b3 (diff)
downloadhaskell-5136d64e47155070f9c7129b53156545a79b5e00.tar.gz
Add a quotRemWord2 primop
It allows you to do (high, low) `quotRem` d provided high < d. Currently only has an inefficient fallback implementation.
Diffstat (limited to 'compiler/llvmGen')
-rw-r--r--compiler/llvmGen/LlvmCodeGen/CodeGen.hs13
1 files changed, 7 insertions, 6 deletions
diff --git a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
index 70fa51aaa2..74311e0a51 100644
--- a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
+++ b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
@@ -473,12 +473,13 @@ cmmPrimOpFunctions env mop
(MO_PopCnt w) -> fsLit $ "llvm.ctpop." ++ show (widthToLlvmInt w)
- MO_S_QuotRem {} -> unsupported
- MO_U_QuotRem {} -> unsupported
- MO_Add2 {} -> unsupported
- MO_U_Mul2 {} -> unsupported
- MO_WriteBarrier -> unsupported
- MO_Touch -> unsupported
+ MO_S_QuotRem {} -> unsupported
+ MO_U_QuotRem {} -> unsupported
+ MO_U_QuotRem2 {} -> unsupported
+ MO_Add2 {} -> unsupported
+ MO_U_Mul2 {} -> unsupported
+ MO_WriteBarrier -> unsupported
+ MO_Touch -> unsupported
where
intrinTy1 = (if getLlvmVer env >= 28