X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fvectorise%2FVectBuiltIn.hs;h=682d451c40b09de656e02f7ce956d51919d56746;hb=fdbd3fea6023d520398fa904ec41e84c00fcfa5e;hp=beae49a40200ad5e60c15c1a50e66146a9158a84;hpb=1c2f1ceb04aa84f0e014ec6750d8a08355200145;p=ghc-hetmet.git diff --git a/compiler/vectorise/VectBuiltIn.hs b/compiler/vectorise/VectBuiltIn.hs index beae49a..682d451 100644 --- a/compiler/vectorise/VectBuiltIn.hs +++ b/compiler/vectorise/VectBuiltIn.hs @@ -68,6 +68,7 @@ nDP_COMBINATORS = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Combinators") nDP_PRELUDE_PARR = mkNDPModule FSLIT("Data.Array.Parallel.Prelude.Base.PArr") nDP_PRELUDE_INT = mkNDPModule FSLIT("Data.Array.Parallel.Prelude.Base.Int") +nDP_PRELUDE_DOUBLE = mkNDPModule FSLIT("Data.Array.Parallel.Prelude.Base.Double") data Builtins = Builtins { parrayTyCon :: TyCon @@ -148,13 +149,13 @@ initBuiltins upToPAIntPrimVar <- externalVar nDP_PRIM FSLIT("upToPA_Int#") selectPAIntPrimVar <- externalVar nDP_PRIM FSLIT("selectPA_Int#") truesPABoolPrimVar <- externalVar nDP_PRIM FSLIT("truesPA_Bool#") - lengthPAVar <- externalVar nDP_PARRAY FSLIT("lengthPA") - replicatePAVar <- externalVar nDP_PARRAY FSLIT("replicatePA") + lengthPAVar <- externalVar nDP_PARRAY FSLIT("lengthPA#") + replicatePAVar <- externalVar nDP_PARRAY FSLIT("replicatePA#") emptyPAVar <- externalVar nDP_PARRAY FSLIT("emptyPA") - packPAVar <- externalVar nDP_PARRAY FSLIT("packPA") + packPAVar <- externalVar nDP_PARRAY FSLIT("packPA#") combines <- mapM (externalVar nDP_PARRAY) - [mkFastString ("combine" ++ show i ++ "PA") + [mkFastString ("combine" ++ show i ++ "PA#") | i <- [2..mAX_NDP_COMBINE]] let combinePAVars = listArray (2, mAX_NDP_COMBINE) combines @@ -211,11 +212,18 @@ preludeVars = [ mk gHC_PARR FSLIT("mapP") nDP_COMBINATORS FSLIT("mapPA") , mk gHC_PARR FSLIT("zipWithP") nDP_COMBINATORS FSLIT("zipWithPA") + , mk nDP_PRELUDE_INT FSLIT("plus") nDP_PRELUDE_INT FSLIT("plusV") , mk nDP_PRELUDE_INT FSLIT("minus") nDP_PRELUDE_INT FSLIT("minusV") + , mk nDP_PRELUDE_INT FSLIT("mult") nDP_PRELUDE_INT FSLIT("multV") , mk nDP_PRELUDE_INT FSLIT("sumP") nDP_PRELUDE_INT FSLIT("sumPA") , mk nDP_PRELUDE_INT FSLIT("upToP") nDP_PRELUDE_INT FSLIT("upToPA") + , mk nDP_PRELUDE_DOUBLE FSLIT("plus") nDP_PRELUDE_DOUBLE FSLIT("plusV") + , mk nDP_PRELUDE_DOUBLE FSLIT("minus") nDP_PRELUDE_DOUBLE FSLIT("minusV") + , mk nDP_PRELUDE_DOUBLE FSLIT("mult") nDP_PRELUDE_DOUBLE FSLIT("multV") + , mk nDP_PRELUDE_DOUBLE FSLIT("sumP") nDP_PRELUDE_DOUBLE FSLIT("sumPA") + -- FIXME: temporary , mk nDP_PRELUDE_PARR FSLIT("fromPArrayP") nDP_PRELUDE_PARR FSLIT("fromPArrayPA") ]