Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/e2f6bbd3a27685bc667655fdb093734cb565b4cf

>---------------------------------------------------------------

commit e2f6bbd3a27685bc667655fdb093734cb565b4cf
Author: Geoffrey Mainland <[email protected]>
Date:   Fri Oct 5 15:19:55 2012 +0100

    Draw STG F and D registers from the same pool of available SSE registers on 
x86-64.
    
    On x86-64 F and D registers are both drawn from SSE registers, so there is 
no
    reason not to draw them from the same pool of available SSE registers. This
    means that whereas previously a function could only receive two Double 
arguments
    in registers even if it did not have any Float arguments, now it can 
receive up
    to 6 arguments that are any mix of Float and Double in registers.
    
    This patch breaks the LLVM back end. The next patch will fix this breakage.

 compiler/cmm/CmmCallConv.hs          |   57 +++++++++----
 compiler/cmm/CmmParse.y              |    5 +-
 compiler/codeGen/CgUtils.hs          |   10 ++-
 compiler/llvmGen/LlvmCodeGen/Regs.hs |    6 ++
 includes/Cmm.h                       |   16 +++-
 includes/CodeGen.Platform.hs         |  161 ++++++++++++++++++++++++++++++++++
 includes/mkDerivedConstants.c        |    8 ++
 includes/rts/Constants.h             |    5 +-
 includes/stg/MachRegs.h              |   62 ++++++++++++--
 includes/stg/Regs.h                  |   42 +++++++++
 10 files changed, 342 insertions(+), 30 deletions(-)


Diff suppressed because of size. To see it, use:

    git show e2f6bbd3a27685bc667655fdb093734cb565b4cf

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to