8-bit and 16-bit arithmetic

Norman Ramsey nr at cs.tufts.edu
Thu Oct 28 20:57:57 UTC 2021


On x86, GHC can translate 8-bit and 16-bit operations directly
into the 8-bit and 16-bit machine instructions that the hardware
supports.  But there are other platforms on which the smallest
unit of arithmetic may be 32 or even 64 bits.  Is there a central
module in GHC that can take care of rewriting 8-bit and 16-bit operations
into 32-bit or 64-bit operations?  Or is each back end on its own
for this?

(One of my students did some nice work on implementing this transformation
with a minimal set of sign-extension and zero-extension operations:
https://www.cs.tufts.edu/~nr/pubs/widen.pdf.)


Norman


More information about the ghc-devs mailing list