On Thu, Aug 18, 2011 at 11:45 PM, Simon Marlow <marlo...@gmail.com> wrote: > It's broken on 32-bit platforms (like Johan, I validated on 64-bit and > didn't notice the 32-bit breakage). I have a fix on the way...
I got alerted to the problem this morning (which is 32-bit only) and had a fix that Simon was validating for me. I guess Simon got caught up in something else while I thought he had already submitted it hence things are still broken. Apologies. I'm now waiting for Simon to push the fix. A quick fix is to apply this change: diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index ee0ec22..8cad832 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -308,13 +308,8 @@ primop PopCnt16Op "popCnt16#" Monadic Word# -> Word# {Count the number of set bits in the lower 16 bits of a word.} primop PopCnt32Op "popCnt32#" Monadic Word# -> Word# {Count the number of set bits in the lower 32 bits of a word.} -#if WORD_SIZE_IN_BITS < 64 -primop PopCnt64Op "popCnt64#" Monadic Word64# -> Word# - {Count the number of set bits in a 64-bit word.} -#else -primop PopCnt64Op "popCnt64#" Monadic Word# -> Word# +primop PopCnt64Op "popCnt64#" GenPrimOp WORD64 -> Word# {Count the number of set bits in a 64-bit word.} -#endif primop PopCntOp "popCnt#" Monadic Word# -> Word# {Count the number of set bits in a word.} I was confused about the meaning of Monadic, which I though referred to the number of arguments in this case. Johan _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc