
#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