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 <n...@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@haskell.org
    http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to