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

GHC ghc-devs at haskell.org
Tue Jul 4 05:30:00 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 winter):

 Wow, this is a good news!

 One thing makes situation complicated is that there're several versions of
 SIMD implementations out there(SSE4, AVX, AVX2...), and we seems don't
 have a clear plan to support which version, or provide user compile flag
 to do fallback.

 After thinking about this over. I think we'd be better split SIMD
 primitive into `GHC.Prim.SSE4`, `GHC.PrimAVX` modules to avoid this
 compatibility hell. Compiler should be able to produce whatever
 instructions programmer want it to.

 We also have to provide runtime detections in RTS, use some unsafe magic
 we should be able to provide SIMD supporting conditions as constants.

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


More information about the ghc-tickets mailing list