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
