WIP: Make Int64#/Word64 useful on all architectures
The boxed Int64 uses Int64#, but Int32# still uses Int#. The 32-bit case is less pressing to change because it is not a source of brittle CPP---it is the same thing on all platforms.
We need Int64/Word64 constant folding to avoid the let/app restriction on Core, so that is implemented now. 32-bit constant unfolding and 32-bit literals are left as follow-up.
The place to start reading first is primops.txt.pp
This is the bulk of #11953 (closed), #17377 (closed), #17375 (closed)
Please take a few moments to verify that your commits fulfill the following:
-
are either individually buildable or squashed -
have commit messages which describe what they do (referring to Notes and tickets using #NNNN
syntax when appropriate) -
have added source comments describing your change. For larger changes you likely should add a Note and cross-reference it from the relevant places. -
add a testcase to the testsuite. -
if your MR affects library interfaces (e.g. changes base
) or affects whether GHC will accept user-written code, please add the ~"user facing" label. -
updates the users guide if applicable -
mentions new features in the release notes for the next release
If you have any questions don't hesitate to open your merge request and inquire
in a comment. If your patch isn't quite done yet please do add prefix your MR
title with WIP:
.
Edited by Sylvain Henry