X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FPrimOps.cmm;h=6c3593e4a485a97306735ffdd8421db8dc51a359;hb=9d03becc597e5b1ab6c8466209a1263bf8ba6f29;hp=cbdfe67d93b19427143df2c84f90cc2dcb117b8e;hpb=4f92da533cd1c7b5f41ef8794ee6a284f1680413;p=ghc-hetmet.git diff --git a/rts/PrimOps.cmm b/rts/PrimOps.cmm index cbdfe67..6c3593e 100644 --- a/rts/PrimOps.cmm +++ b/rts/PrimOps.cmm @@ -452,11 +452,11 @@ int64ToIntegerzh_fast hi = TO_W_(val >> 32); lo = TO_W_(val); - if ( hi != 0 && hi != 0xFFFFFFFF ) { - words_needed = 2; - } else { + if ( hi == 0 || (hi == 0xFFFFFFFF && lo != 0) ) { // minimum is one word words_needed = 1; + } else { + words_needed = 2; } ALLOC_PRIM( SIZEOF_StgArrWords + WDS(words_needed),