[GHC] #8033: add AVX register support to llvm calling convention

GHC ghc-devs at haskell.org
Tue Jul 9 09:22:07 CEST 2013


#8033: add AVX register support to llvm calling convention
-------------------------------------+------------------------------------
        Reporter:  carter            |            Owner:  carter
            Type:  task              |           Status:  new
        Priority:  normal            |        Milestone:
       Component:  Compiler          |          Version:  7.7
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by gmainland):

 I think the optimal solution would be to have Float and Double arguments
 passed in registers on X86_32. Per my comment on
 [http://www.haskell.org/pipermail/ghc-devs/2013-July/001648.html ghc-
 devs], we want code compiled with the LLVM back-end to be able to inter-
 operate with code compiled by the native back-end. Since the native
 codegen passes all Float and Double parameters on the stack, we would need
 to change the behavior of the native codegen too---it's not enough to
 change the LLVM calling convention.

 I don't think this would be all that much work. If we really care about
 32-bit performance, it's the right thing to do.

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



More information about the ghc-tickets mailing list