Testing vectorisation of superclasses
authorManuel M T Chakravarty <chak@cse.unsw.edu.au>
Sun, 18 Dec 2011 06:09:32 +0000 (17:09 +1100)
committerManuel M T Chakravarty <chak@cse.unsw.edu.au>
Sun, 18 Dec 2011 06:20:28 +0000 (17:20 +1100)
testsuite/.gitignore
testsuite/tests/dph/classes/DefsVect.hs
testsuite/tests/dph/classes/dph-classes-vseg-fast.stdout [new file with mode: 0644]
testsuite/tests/dph/classes/dph-classes.T

index b01b356..e5bb0bf 100644 (file)
@@ -142,4 +142,5 @@ tests/dph/primespj/dph-primespj-copy-fast
 tests/dph/quickhull/dph-quickhull-copy-fast
 tests/dph/quickhull/dph-quickhull-vseg-fast
 tests/dph/words/dph-words-copy-fast
-tests/dph/words/dph-words-vseg-fast
\ No newline at end of file
+tests/dph/words/dph-words-vseg-fast
+tests/dph/classes/dph-classes-vseg-fast
\ No newline at end of file
index 883ad7b..a424acd 100644 (file)
@@ -5,16 +5,26 @@ module DefsVect where
 
 import Data.Array.Parallel
 import Data.Array.Parallel.Prelude.Bool
-import Data.Array.Parallel.Prelude.Int  (Int)
+import Data.Array.Parallel.Prelude.Int  (Int, sumP)
 
 
 {-# VECTORISE class Eq #-}
+{-# VECTORISE SCALAR instance Eq Bool #-}
+-- {-# VECTORISE SCALAR instance Eq Char #-}
 {-# VECTORISE SCALAR instance Eq Int #-}
+{-# VECTORISE SCALAR instance Eq Word8 #-}
+-- {-# VECTORISE SCALAR instance Eq Float #-}
+{-# VECTORISE SCALAR instance Eq Double #-}
+{-# VECTORISE SCALAR instance Eq Ordering #-}
+{-# VECTORISE class Ord #-}
+{-# VECTORISE SCALAR instance Ord Bool #-}
+-- {-# VECTORISE SCALAR instance Ord Char #-}
+{-# VECTORISE SCALAR instance Ord Int #-}
+{-# VECTORISE SCALAR instance Ord Word8 #-}
+-- {-# VECTORISE SCALAR instance Ord Float #-}
+{-# VECTORISE SCALAR instance Ord Double #-}
+{-# VECTORISE SCALAR instance Ord Ordering #-}
 
--- {-# VECTORISE class Ord #-}
--- {-# VECTORISE SCALAR instance Ord Int #-}
-
--- {-# VECTORISE type Ordering #-}
 
 data MyBool = MyTrue | MyFalse
 
@@ -49,4 +59,4 @@ isEqs :: PArray Int -> Bool
 isEqs xs = isEqs' (fromPArrayP xs)
 
 isEqs' :: [:Int:] -> Bool
-isEqs' xs = andP (mapP isEq xs)
\ No newline at end of file
+isEqs' xs = andP (mapP isEq xs)
diff --git a/testsuite/tests/dph/classes/dph-classes-vseg-fast.stdout b/testsuite/tests/dph/classes/dph-classes-vseg-fast.stdout
new file mode 100644 (file)
index 0000000..bf8e7b9
--- /dev/null
@@ -0,0 +1 @@
+[True,False,True,True]
index 4928c20..425d6ab 100644 (file)
@@ -1,10 +1,9 @@
-test    ('dph-classes-copy-fast' 
+test    ('dph-classes-vseg-fast' 
         , [ alone
           , extra_clean(['Main.o', 'Main.hi', 'DefsVect.hi', 'DefsVect.o'])
-          , reqlib('dph-lifted-copy')
+          , reqlib('dph-lifted-vseg')
           , reqlib('dph-prim-par')
           , only_ways(['normal', 'threaded1', 'threaded2']) ] 
         , multimod_compile_and_run 
         , [ 'Main'
-          , '-O -fno-enable-rewrite-rules -package dph-lifted-copy'])
-
+          , '-O -fno-enable-rewrite-rules -package dph-lifted-vseg'])