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

On branch  : simd

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

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

commit f1d48536d48c7c290440a2c97ff706049babe03f
Author: Geoffrey Mainland <[email protected]>
Date:   Sun Nov 27 17:29:17 2011 +0000

    Add a bits128 type to C--.

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

 compiler/cmm/CmmLex.x   |    3 +++
 compiler/cmm/CmmParse.y |    2 ++
 compiler/cmm/CmmType.hs |    5 +++--
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/compiler/cmm/CmmLex.x b/compiler/cmm/CmmLex.x
index 1e2b20d..627ad8c 100644
--- a/compiler/cmm/CmmLex.x
+++ b/compiler/cmm/CmmLex.x
@@ -160,6 +160,7 @@ data CmmToken
   | CmmT_bits16
   | CmmT_bits32
   | CmmT_bits64
+  | CmmT_bits128
   | CmmT_float32
   | CmmT_float64
   | CmmT_gcptr
@@ -237,6 +238,7 @@ reservedWordsFM = listToUFM $
        ( "bits16",             CmmT_bits16 ),
        ( "bits32",             CmmT_bits32 ),
        ( "bits64",             CmmT_bits64 ),
+       ( "bits128",            CmmT_bits128 ),
        ( "float32",            CmmT_float32 ),
        ( "float64",            CmmT_float64 ),
 -- New forms
@@ -244,6 +246,7 @@ reservedWordsFM = listToUFM $
        ( "b16",                CmmT_bits16 ),
        ( "b32",                CmmT_bits32 ),
        ( "b64",                CmmT_bits64 ),
+       ( "b128",               CmmT_bits128 ),
        ( "f32",                CmmT_float32 ),
        ( "f64",                CmmT_float64 ),
        ( "gcptr",              CmmT_gcptr )
diff --git a/compiler/cmm/CmmParse.y b/compiler/cmm/CmmParse.y
index bdb2c4c..3b67330 100644
--- a/compiler/cmm/CmmParse.y
+++ b/compiler/cmm/CmmParse.y
@@ -135,6 +135,7 @@ import System.Exit
        'bits16'        { L _ (CmmT_bits16) }
        'bits32'        { L _ (CmmT_bits32) }
        'bits64'        { L _ (CmmT_bits64) }
+       'bits128'       { L _ (CmmT_bits128) }
        'float32'       { L _ (CmmT_float32) }
        'float64'       { L _ (CmmT_float64) }
        'gcptr'         { L _ (CmmT_gcptr) }
@@ -618,6 +619,7 @@ typenot8 :: { CmmType }
        : 'bits16'              { b16 }
        | 'bits32'              { b32 }
        | 'bits64'              { b64 }
+       | 'bits128'             { b128 }
        | 'float32'             { f32 }
        | 'float64'             { f64 }
        | 'gcptr'               { gcWord }
diff --git a/compiler/cmm/CmmType.hs b/compiler/cmm/CmmType.hs
index 2d1673b..e1ae753 100644
--- a/compiler/cmm/CmmType.hs
+++ b/compiler/cmm/CmmType.hs
@@ -1,7 +1,7 @@
 
 module CmmType
     ( CmmType   -- Abstract
-    , b8, b16, b32, b64, f32, f64, bWord, bHalfWord, gcWord
+    , b8, b16, b32, b64, b128, f32, f64, bWord, bHalfWord, gcWord
     , cInt, cLong
     , cmmBits, cmmFloat
     , typeWidth, cmmEqType, cmmEqType_ignoring_ptrhood
@@ -110,11 +110,12 @@ cmmFloat = CmmType FloatCat
 
 -------- Common CmmTypes ------------
 -- Floats and words of specific widths
-b8, b16, b32, b64, f32, f64 :: CmmType
+b8, b16, b32, b64, b128, f32, f64 :: CmmType
 b8     = cmmBits W8
 b16    = cmmBits W16
 b32    = cmmBits W32
 b64    = cmmBits W64
+b128   = cmmBits W128
 f32    = cmmFloat W32
 f64    = cmmFloat W64
 



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

Reply via email to