[GHC] #15250: Add support for _mm512_shuffle_epi8 intrinsic

GHC ghc-devs at haskell.org
Sat Jun 23 10:14:29 UTC 2018


#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


More information about the ghc-tickets mailing list