[commit: packages/integer-gmp] master: Dont use big/small-int primops on IL32P64 (i.e. Win/x86_64) for now (0476327)
git at git.haskell.org
git at git.haskell.org
Thu Jan 16 23:20:09 UTC 2014
Repository : ssh://git@git.haskell.org/integer-gmp
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/0476327376045838375fbbe4a78c02859a1913cb/integer-gmp
>---------------------------------------------------------------
commit 0476327376045838375fbbe4a78c02859a1913cb
Author: Herbert Valerio Riedel <hvr at gnu.org>
Date: Thu Jan 16 22:56:37 2014 +0100
Dont use big/small-int primops on IL32P64 (i.e. Win/x86_64) for now
This is due to `mpz_*()` functions having @long@ arguments which are
32bit on IL32P64, whereas `Int#` and `Word#` are 64bit wide, causing all
sorts of malfunction due to truncation.
This affects mostly the new big/small-int primops introduced in the
course of #8647, so when `SIZEOF_W != SIZEOF_LONG` we simply fall back
to using the big/big-int primops. big/small primops implemented via the
low-level `mpn_*()` GMP operations are not affected, as those use
`mp_limb_t` arguments.
Signed-off-by: Herbert Valerio Riedel <hvr at gnu.org>
>---------------------------------------------------------------
0476327376045838375fbbe4a78c02859a1913cb
GHC/Integer/Type.lhs | 87 ++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 78 insertions(+), 9 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 0476327376045838375fbbe4a78c02859a1913cb
More information about the ghc-commits
mailing list