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

On branch  : simd

http://hackage.haskell.org/trac/ghc/changeset/599f75f550fec81b2c05950f30574a4c2045fb30

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

commit 599f75f550fec81b2c05950f30574a4c2045fb30
Author: Geoffrey Mainland <[email protected]>
Date:   Sun Nov 27 19:06:41 2011 +0000

    Make genapply use proper types for 16-byte vectors.
    
    genapply now generates proper bitmaps for 16-byte vector arguments, and all
    16-byte vector types use the same stg_ap_x16* family of functions.

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

 includes/Cmm.h             |    7 ++++---
 utils/genapply/GenApply.hs |   12 +++++++-----
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/includes/Cmm.h b/includes/Cmm.h
index 641faa2..ab734a3 100644
--- a/includes/Cmm.h
+++ b/includes/Cmm.h
@@ -125,9 +125,10 @@
 #error Unknown long size
 #endif
 
-#define F_ float32
-#define D_ float64
-#define L_ bits64
+#define F_   float32
+#define D_   float64
+#define L_   bits64
+#define X16_ bits128
 
 #define SIZEOF_StgDouble 8
 #define SIZEOF_StgWord64 8
diff --git a/utils/genapply/GenApply.hs b/utils/genapply/GenApply.hs
index 989c4fc..a066696 100644
--- a/utils/genapply/GenApply.hs
+++ b/utils/genapply/GenApply.hs
@@ -467,11 +467,13 @@ formalParam arg n =
     text "arg" <> int n <> text ", "
 formalParamType arg = argRep arg
 
-argRep F = text "F_"
-argRep D = text "D_"
-argRep L = text "L_"
-argRep P = text "gcptr"
-argRep _ = text "W_"
+argRep F      = text "F_"
+argRep D      = text "D_"
+argRep L      = text "L_"
+argRep P      = text "gcptr"
+argRep (X 16) = text "X16_"
+argRep (X _)  = error "Bad vector length"
+argRep _      = text "W_"
 
 genApply regstatus args =
    let



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

Reply via email to