Int64#/Word64# are defined on all platforms, but some of the operations are only available on 32-bit
It's incredibly frustrating that Int64#
/Word64#
are defined on all platforms (see #17375 (closed)), but the GHC.IntWord64
module, which defines useful operations like intToInt64# :: Int# -> Int64#
(which can't be implemented without unsafeCoerce#
on 64-bit) only on 32-bit.
I think we should be providing same operations on all platforms. On 64-bit some of these operations could just be renaming of others, some others would just be no-op.