[GHC] #8437: pprCallishMachOp_for_C: MO_Prefetch_Data 0 not supported

GHC ghc-devs
Fri Oct 11 15:32:29 UTC 2013


#8437: pprCallishMachOp_for_C: MO_Prefetch_Data 0 not supported
-------------------------------------+-----------------------------
        Reporter:  erikd             |            Owner:
            Type:  bug               |           Status:  new
        Priority:  normal            |        Milestone:
       Component:  Compiler          |          Version:  7.7
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  powerpc64
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+-----------------------------

Comment (by rwbarton):

 Funny, someone else (I assume!) was also building HEAD on linux-powerpc64
 last night and ran into this same issue.

 For now, you can try this (untested) patch to simply make prefetches a no-
 op in the C backend: http://lpaste.net/94144

 Ideally, you would output a `__builtin_prefetch` call where `rw` is 0,
 `locality` is the argument of the `MO_Prefetch_Data` constructor, and
 `addr` comes from the `args` field of the `CmmUnsafeForeignCall`. That
 looks pretty easy to do, by adding another special case for `fn_addr` and
 sending `MO_Prefetch_Data _` to `__builtin_prefetch` in
 `pprCallishMachOp_for_C`.

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



More information about the ghc-tickets mailing list