[commit: ghc] simd: Add the Float32X4# primitive type and associated primops. (8cf2ee1)

Geoffrey Mainland gmainlan at microsoft.com
Thu Jan 31 10:52:58 CET 2013


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

On branch  : simd

http://hackage.haskell.org/trac/ghc/changeset/8cf2ee100babbc6ed1f679ec722b898109fb93a3

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

commit 8cf2ee100babbc6ed1f679ec722b898109fb93a3
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 8cf2ee100babbc6ed1f679ec722b898109fb93a3



More information about the ghc-commits mailing list