summaryrefslogtreecommitdiff
path: root/ghc/lib/std/PrelGHC.hi-boot.pp
diff options
context:
space:
mode:
authorsewardj <unknown>2001-12-14 15:26:16 +0000
committersewardj <unknown>2001-12-14 15:26:16 +0000
commit7dee9e10796acdc3af04f222ef06808ad3d1b611 (patch)
treed81906c8cfa22fc53a09db01cf0ad51faa5ec342 /ghc/lib/std/PrelGHC.hi-boot.pp
parent8cb83b665c1131654703fb84d80db027929db09e (diff)
downloadhaskell-7dee9e10796acdc3af04f222ef06808ad3d1b611.tar.gz
[project @ 2001-12-14 15:26:14 by sewardj]
Get rid of multiple-result MachOps (MO_NatS_AddC, MO_NatS_SubC, MO_NatS_MulC) which implement {add,sub,mul}IntC#. Supporting gunk in the NCG disappears as a result. Instead: * {add,sub}IntC# are translated out during abstract C simplification, turning into the xor-xor-invert-and-shift sequence previously defined in PrimOps.h. * mulIntC# is more difficult to get rid of portably. Instead we have a new single-result PrimOp, mulIntMayOflo, with corresponding MachOp MO_NatS_MulMayOflo. This tells you whether a W x W -> W signed multiply might overflow, where W is the word size. When W=32, is implemented by computing a 2W-long result. When W=64, we use the previous approximation. PrelNum.lhs' implementation of timesInteger changes slightly, to use the new PrimOp.
Diffstat (limited to 'ghc/lib/std/PrelGHC.hi-boot.pp')
-rw-r--r--ghc/lib/std/PrelGHC.hi-boot.pp2
1 files changed, 1 insertions, 1 deletions
diff --git a/ghc/lib/std/PrelGHC.hi-boot.pp b/ghc/lib/std/PrelGHC.hi-boot.pp
index 2a8953aa51..12237357e9 100644
--- a/ghc/lib/std/PrelGHC.hi-boot.pp
+++ b/ghc/lib/std/PrelGHC.hi-boot.pp
@@ -95,7 +95,7 @@ __export PrelGHC
uncheckedIShiftRLzh
addIntCzh
subIntCzh
- mulIntCzh
+ mulIntMayOflozh
Wordzh
gtWordzh