diff options
Diffstat (limited to 'testsuite/tests/codeGen/should_run/cgrun069.hs')
-rw-r--r-- | testsuite/tests/codeGen/should_run/cgrun069.hs | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/testsuite/tests/codeGen/should_run/cgrun069.hs b/testsuite/tests/codeGen/should_run/cgrun069.hs new file mode 100644 index 0000000000..076abc211e --- /dev/null +++ b/testsuite/tests/codeGen/should_run/cgrun069.hs @@ -0,0 +1,82 @@ +{-# LANGUAGE MagicHash,GHCForeignImportPrim,UnliftedFFITypes #-} +module Main where + +import GHC.Exts +import Control.Exception +import System.IO + +foreign import prim "memintrinTest" basicTest :: Int# -> Int# + +foreign import prim "testMemset8_0" testMemset8_0 :: Int# -> Int# +foreign import prim "testMemset8_8" testMemset8_8 :: Int# -> Int# +foreign import prim "testMemset8_9" testMemset8_9 :: Int# -> Int# +foreign import prim "testMemset8_10" testMemset8_10 :: Int# -> Int# +foreign import prim "testMemset8_11" testMemset8_11 :: Int# -> Int# +foreign import prim "testMemset8_12" testMemset8_12 :: Int# -> Int# +foreign import prim "testMemset8_13" testMemset8_13 :: Int# -> Int# +foreign import prim "testMemset8_14" testMemset8_14 :: Int# -> Int# +foreign import prim "testMemset8_15" testMemset8_15 :: Int# -> Int# +foreign import prim "testMemset8_16" testMemset8_16 :: Int# -> Int# +foreign import prim "testMemset4_0" testMemset4_0 :: Int# -> Int# +foreign import prim "testMemset4_4" testMemset4_4 :: Int# -> Int# +foreign import prim "testMemset4_5" testMemset4_5 :: Int# -> Int# +foreign import prim "testMemset4_6" testMemset4_6 :: Int# -> Int# +foreign import prim "testMemset4_7" testMemset4_7 :: Int# -> Int# +foreign import prim "testMemset4_8" testMemset4_8 :: Int# -> Int# + +foreign import prim "testMemcpy8_0" testMemcpy8_0 :: Int# -> Int# +foreign import prim "testMemcpy8_8" testMemcpy8_8 :: Int# -> Int# +foreign import prim "testMemcpy8_9" testMemcpy8_9 :: Int# -> Int# +foreign import prim "testMemcpy8_10" testMemcpy8_10 :: Int# -> Int# +foreign import prim "testMemcpy8_11" testMemcpy8_11 :: Int# -> Int# +foreign import prim "testMemcpy8_12" testMemcpy8_12 :: Int# -> Int# +foreign import prim "testMemcpy8_13" testMemcpy8_13 :: Int# -> Int# +foreign import prim "testMemcpy8_14" testMemcpy8_14 :: Int# -> Int# +foreign import prim "testMemcpy8_15" testMemcpy8_15 :: Int# -> Int# +foreign import prim "testMemcpy8_16" testMemcpy8_16 :: Int# -> Int# +foreign import prim "testMemcpy4_0" testMemcpy4_0 :: Int# -> Int# +foreign import prim "testMemcpy4_4" testMemcpy4_4 :: Int# -> Int# +foreign import prim "testMemcpy4_5" testMemcpy4_5 :: Int# -> Int# +foreign import prim "testMemcpy4_6" testMemcpy4_6 :: Int# -> Int# +foreign import prim "testMemcpy4_7" testMemcpy4_7 :: Int# -> Int# +foreign import prim "testMemcpy4_8" testMemcpy4_8 :: Int# -> Int# + +main = do + putStrLn "Mem{cpy,set,move} Intrinsics Test..." + _ <- evaluate (I# (basicTest 1#)) + + _ <- evaluate (I# (testMemset8_0 1#)) + _ <- evaluate (I# (testMemset8_8 1#)) + _ <- evaluate (I# (testMemset8_9 1#)) + _ <- evaluate (I# (testMemset8_10 1#)) + _ <- evaluate (I# (testMemset8_11 1#)) + _ <- evaluate (I# (testMemset8_12 1#)) + _ <- evaluate (I# (testMemset8_13 1#)) + _ <- evaluate (I# (testMemset8_14 1#)) + _ <- evaluate (I# (testMemset8_15 1#)) + _ <- evaluate (I# (testMemset8_16 1#)) + _ <- evaluate (I# (testMemset4_0 1#)) + _ <- evaluate (I# (testMemset4_4 1#)) + _ <- evaluate (I# (testMemset4_5 1#)) + _ <- evaluate (I# (testMemset4_6 1#)) + _ <- evaluate (I# (testMemset4_7 1#)) + _ <- evaluate (I# (testMemset4_8 1#)) + + _ <- evaluate (I# (testMemcpy8_0 1#)) + _ <- evaluate (I# (testMemcpy8_8 1#)) + _ <- evaluate (I# (testMemcpy8_9 1#)) + _ <- evaluate (I# (testMemcpy8_10 1#)) + _ <- evaluate (I# (testMemcpy8_11 1#)) + _ <- evaluate (I# (testMemcpy8_12 1#)) + _ <- evaluate (I# (testMemcpy8_13 1#)) + _ <- evaluate (I# (testMemcpy8_14 1#)) + _ <- evaluate (I# (testMemcpy8_15 1#)) + _ <- evaluate (I# (testMemcpy8_16 1#)) + _ <- evaluate (I# (testMemcpy4_0 1#)) + _ <- evaluate (I# (testMemcpy4_4 1#)) + _ <- evaluate (I# (testMemcpy4_5 1#)) + _ <- evaluate (I# (testMemcpy4_6 1#)) + _ <- evaluate (I# (testMemcpy4_7 1#)) + _ <- evaluate (I# (testMemcpy4_8 1#)) + putStrLn "Test Passed!" + return () |