[GHC] #7741: Add SIMD support to x86/x86_64 NCG

GHC ghc-devs at haskell.org
Tue Jul 4 16:39:28 UTC 2017


#7741: Add SIMD support to x86/x86_64 NCG
-------------------------------------+-------------------------------------
        Reporter:  shelarcy          |                Owner:  (none)
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler (NCG)    |              Version:  7.7
      Resolution:                    |             Keywords:  SIMD
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #3557             |  Differential Rev(s):
       Wiki Page:  wiki:SIMD         |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 > After thinking about this over. I think we'd be better split SIMD
 primitives into GHC.Prim.SSE4, GHC.Prim.AVX, etc. modules to avoid this
 compatibility hell.

 I'm afraid all of the primops will likely remain in `GHC.Prim` for
 tiresome engineering reasons (namely the `GHC.Prim` module is treated
 specially by the compiler; while we perhaps could add more  wired-in
 modules, we'd rather not). However `GHC.Prim` isn't intended to be used by
 the user anyways. Perhaps we could reexport the SIMD primitives in a new
 `GHC.Exts.SIMD` module.

 Regardless, I don't think we want to bake architecture-specific details
 into GHC's module naming. Really, the SIMD support provided by GHC is,
 like all primops, intended to be a substrate over which library authors
 can write safer, more convenient abstractions.

 >  BTW, is SSE4 suppose to be the baseline of x86_64 now?

 Builds on `x86_64` assume SSE2 and no more, AFAIK.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7741#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list