[commit: ghc] : Add the Float32X4# primitive type and associated primops. (4af6207)

Geoffrey Mainland gmainlan at microsoft.com
Fri Feb 1 23:02:33 CET 2013


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

On branch  : 

http://hackage.haskell.org/trac/ghc/changeset/4af62075bbe9e96a3678fc90288496e0c4c7c17d

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

commit 4af62075bbe9e96a3678fc90288496e0c4c7c17d
Author: Geoffrey Mainland <gmainlan at microsoft.com>
Date:   Fri Oct 19 09:06:17 2012 +0100

    Add the Float32X4# primitive type and associated primops.
    
    This patch lays the groundwork needed for primop support for SIMD vectors. In
    addition to the groundwork, we add support for the FloatX4# primitive type and
    associated primops.
    
     * Add the FloatX4# primitive type and associated primops.
     * Add CodeGen support for Float vectors.
     * Compile vector operations to LLVM vector operations in the LLVM code
       generator.
     * Make the x86 native backend fail gracefully when encountering vector primops.
     * Only generate primop wrappers for vector primops when using LLVM.

 compiler/cmm/CmmMachOp.hs               |   29 ++
 compiler/cmm/PprC.hs                    |   30 ++
 compiler/codeGen/StgCmmPrim.hs          |  478 ++++++++++++++++++++++---------
 compiler/llvmGen/LlvmCodeGen/CodeGen.hs |   43 +++
 compiler/nativeGen/X86/CodeGen.hs       |   36 +++-
 compiler/prelude/PrelNames.lhs          |    5 +
 compiler/prelude/TysPrim.lhs            |   23 ++-
 compiler/prelude/primops.txt.pp         |   95 ++++++
 utils/genprimopcode/Main.hs             |   28 ++-
 9 files changed, 620 insertions(+), 147 deletions(-)


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

    git show 4af62075bbe9e96a3678fc90288496e0c4c7c17d



More information about the ghc-commits mailing list