Added 'div' to set of vectorising functions
[ghc-hetmet.git] / compiler / vectorise / VectBuiltIn.hs
index 09000ea..9d790c6 100644 (file)
@@ -42,7 +42,7 @@ import Control.Monad   ( liftM, zipWithM )
 import Data.List       ( unzip4 )
 
 mAX_NDP_PROD :: Int
-mAX_NDP_PROD = 4
+mAX_NDP_PROD = 5
 
 mAX_NDP_SUM :: Int
 mAX_NDP_SUM = 3
@@ -226,6 +226,7 @@ preludeVars
     , 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("intDiv")  nDP_PRELUDE_INT FSLIT("intDivV")
     , mk nDP_PRELUDE_INT  FSLIT("sumP")  nDP_PRELUDE_INT FSLIT("sumPA")
     , mk nDP_PRELUDE_INT  FSLIT("upToP") nDP_PRELUDE_INT FSLIT("upToPA")
 
@@ -308,7 +309,7 @@ builtinPAs bi
   where
     mk name mod fs = (name, mod, fs)
 
-    tups = map mk_tup [2..3]
+    tups = map mk_tup [2..mAX_NDP_PROD]
     mk_tup n = mk (tyConName $ tupleTyCon Boxed n)
                   nDP_INSTANCES
                   (mkFastString $ "dPA_" ++ show n)