Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : simd
http://hackage.haskell.org/trac/ghc/changeset/c6d3cf1ac14d8a34976ac6d33f29ccc601714fc5 >--------------------------------------------------------------- commit c6d3cf1ac14d8a34976ac6d33f29ccc601714fc5 Author: Geoffrey Mainland <[email protected]> Date: Wed Nov 2 15:10:57 2011 +0000 Properly calculate CgRep size for vectors. >--------------------------------------------------------------- compiler/codeGen/ClosureInfo.lhs | 18 ++++++++++-------- 1 files changed, 10 insertions(+), 8 deletions(-) diff --git a/compiler/codeGen/ClosureInfo.lhs b/compiler/codeGen/ClosureInfo.lhs index 6ed5193..d8b68a1 100644 --- a/compiler/codeGen/ClosureInfo.lhs +++ b/compiler/codeGen/ClosureInfo.lhs @@ -339,16 +339,18 @@ separateByPtrFollowness things \begin{code} cgRepSizeB :: CgRep -> ByteOff -cgRepSizeB DoubleArg = dOUBLE_SIZE -cgRepSizeB LongArg = wORD64_SIZE -cgRepSizeB VoidArg = 0 -cgRepSizeB _ = wORD_SIZE +cgRepSizeB DoubleArg = dOUBLE_SIZE +cgRepSizeB LongArg = wORD64_SIZE +cgRepSizeB (FloatVecArg len) = len*wORD_SIZE +cgRepSizeB VoidArg = 0 +cgRepSizeB _ = wORD_SIZE cgRepSizeW :: CgRep -> ByteOff -cgRepSizeW DoubleArg = dOUBLE_SIZE `quot` wORD_SIZE -cgRepSizeW LongArg = wORD64_SIZE `quot` wORD_SIZE -cgRepSizeW VoidArg = 0 -cgRepSizeW _ = 1 +cgRepSizeW DoubleArg = dOUBLE_SIZE `quot` wORD_SIZE +cgRepSizeW LongArg = wORD64_SIZE `quot` wORD_SIZE +cgRepSizeW (FloatVecArg len) = len +cgRepSizeW VoidArg = 0 +cgRepSizeW _ = 1 retAddrSizeW :: WordOff retAddrSizeW = 1 -- One word _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
