[GHC] #11037: Expose pop count primitives to cmm

GHC ghc-devs at haskell.org
Fri Oct 30 08:26:26 UTC 2015


#11037: Expose pop count primitives to cmm
-------------------------------------+-------------------------------------
           Reporter:  ekmett         |             Owner:
               Type:  feature        |            Status:  new
  request                            |
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  7.10.2
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 I can't actually invoke the various `MO_PopCnt width` prim ops from the
 literal Cmm syntax.

 Would it be possible to expose them via `machOps` in `CmmParse.y` as
 `popcnt8`, `popcnt16`, etc.?

 This would enable me to generate much more efficient code.

 I started hacking up a mostly Cmm-side implementation of a HashMap. This
 lets me directly index into fields in data constructors and the like,
 eliding the indirection of the array machinery and allowing a much more
 direct implementation. Other than this, until this point it has been going
 remarkably smoothly.

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


More information about the ghc-tickets mailing list