
#15250: Add support for _mm512_shuffle_epi8 intrinsic -------------------------------------+------------------------------------- Reporter: newhoggy | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.8.1 Component: Compiler | Version: 8.4.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by newhoggy): Yes, I've recently discovered that my laptop does not have AVX512 support, in which case I'd like to have support equivalent for AVX2 instruction _mm256_shuffle_epi8 and _mm_shuffle_epi8 instructions for lower performance, compatibility on such platforms. I will also need to be able to load an unload packed bytes to and from vectors with require some additional primops. The context is that I would like to implement Data Parallel State Machines which have been documented to run 5x faster than state machines without SIMD support, and also open the way to parallelise state machines (that are normally run serially) across multiple cores. https://www.microsoft.com/en-us/research/wp- content/uploads/2016/02/asplos302-mytkowicz.pdf Being able to run state machines with high performance is in itself a worthwhile endeavour, but I would like to investigate the possibility of using this to build very fast JSON, XML and CSV parsers. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15250#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler