8-bit and 16-bit arithmetic

Andreas Klebinger klebinger.andreas at gmx.at
Thu Oct 28 21:29:52 UTC 2021


I think carter has it still right that it happens in the backends.

If a new backend doesn't support these we could move this up into Cmm
though without much issue I think.

Am 28/10/2021 um 23:12 schrieb Carter Schonwald:
> I think thats done on a per backend basis (though theres been a lot of
> changes since i last looked at some of the relevent pieces). (i'm
> actually based in Cambridge MA for the next 1-2 years if you wanna
> brain storm IRL sometime)
>
> On Thu, Oct 28, 2021 at 4:59 PM Norman Ramsey <nr at cs.tufts.edu> wrote:
>
>     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
>     _______________________________________________
>     ghc-devs mailing list
>     ghc-devs at haskell.org
>     http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20211028/e7295126/attachment.html>


More information about the ghc-devs mailing list