X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fvectorise%2FVectorise%2FBuiltins%2FPrelude.hs;fp=compiler%2Fvectorise%2FVectorise%2FBuiltins%2FPrelude.hs;h=51b3d140544bda05870e08f7613f7c6b7ecae800;hp=731371e1615a3166fbac71b2d6b05e8d0b840438;hb=9ae7aca7d1985640aff647de797db2abae49a9a2;hpb=999857fdfd8fa1b305a94bc54bb1860f5c8896d1 diff --git a/compiler/vectorise/Vectorise/Builtins/Prelude.hs b/compiler/vectorise/Vectorise/Builtins/Prelude.hs index 731371e..51b3d14 100644 --- a/compiler/vectorise/Vectorise/Builtins/Prelude.hs +++ b/compiler/vectorise/Vectorise/Builtins/Prelude.hs @@ -31,28 +31,12 @@ preludeVars (Modules { dph_Combinators = _dph_Combinators , dph_Prelude_Bool = dph_Prelude_Bool }) - -- Functions that work on whole PArrays, defined in GHC.PArr - = [ {- mk gHC_PARR' (fsLit "mapP") dph_Combinators (fsLit "mapPA") - , mk gHC_PARR' (fsLit "zipWithP") dph_Combinators (fsLit "zipWithPA") - , mk gHC_PARR' (fsLit "zipP") dph_Combinators (fsLit "zipPA") - , mk gHC_PARR' (fsLit "unzipP") dph_Combinators (fsLit "unzipPA") - , mk gHC_PARR' (fsLit "filterP") dph_Combinators (fsLit "filterPA") - , mk gHC_PARR' (fsLit "lengthP") dph_Combinators (fsLit "lengthPA") - , mk gHC_PARR' (fsLit "replicateP") dph_Combinators (fsLit "replicatePA") - , mk gHC_PARR' (fsLit "!:") dph_Combinators (fsLit "indexPA") - , mk gHC_PARR' (fsLit "sliceP") dph_Combinators (fsLit "slicePA") - , mk gHC_PARR' (fsLit "crossMapP") dph_Combinators (fsLit "crossMapPA") - , mk gHC_PARR' (fsLit "singletonP") dph_Combinators (fsLit "singletonPA") - , mk gHC_PARR' (fsLit "concatP") dph_Combinators (fsLit "concatPA") - , mk gHC_PARR' (fsLit "+:+") dph_Combinators (fsLit "appPA") - , mk gHC_PARR' (fsLit "emptyP") dph_PArray (fsLit "emptyPA") - + = [ -- Map scalar functions to versions using closures. - , -} mk' dph_Prelude_Int "div" "divV" + mk' dph_Prelude_Int "div" "divV" , mk' dph_Prelude_Int "mod" "modV" , mk' dph_Prelude_Int "sqrt" "sqrtV" , mk' dph_Prelude_Int "enumFromToP" "enumFromToPA" - -- , mk' dph_Prelude_Int "upToP" "upToPA" ] ++ vars_Ord dph_Prelude_Int ++ vars_Num dph_Prelude_Int @@ -78,17 +62,7 @@ preludeVars (Modules { dph_Combinators = _dph_Combinators , mk gHC_CLASSES (fsLit "not") dph_Prelude_Bool (fsLit "notV") , mk gHC_CLASSES (fsLit "&&") dph_Prelude_Bool (fsLit "andV") , mk gHC_CLASSES (fsLit "||") dph_Prelude_Bool (fsLit "orV") - -{- - -- FIXME: temporary - , mk dph_Prelude_PArr (fsLit "fromPArrayP") dph_Prelude_PArr (fsLit "fromPArrayPA") - , mk dph_Prelude_PArr (fsLit "toPArrayP") dph_Prelude_PArr (fsLit "toPArrayPA") - , mk dph_Prelude_PArr (fsLit "fromNestedPArrayP") dph_Prelude_PArr (fsLit "fromNestedPArrayPA") - , mk dph_Prelude_PArr (fsLit "combineP") dph_Combinators (fsLit "combine2PA") - , mk dph_Prelude_PArr (fsLit "updateP") dph_Combinators (fsLit "updatePA") - , mk dph_Prelude_PArr (fsLit "bpermuteP") dph_Combinators (fsLit "bpermutePA") - , mk dph_Prelude_PArr (fsLit "indexedP") dph_Combinators (fsLit "indexedPA") --} ] + ] where mk = (,,,) mk' mod v v' = mk mod (fsLit v) mod (fsLit v')