aboutsummaryrefslogtreecommitdiffstats
path: root/test/kvx/interop/framework.h
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2020-05-28 18:26:22 +0200
committerCyril SIX <cyril.six@kalray.eu>2020-05-28 18:26:22 +0200
commit050f408dd2b3f2cf1b8db512edafe2701b7a2dce (patch)
tree5f962fb6166fd2cd95a239e0d66fee362c1bfb23 /test/kvx/interop/framework.h
parentd46e96ef6c0287d6892bfc7d2272b7473f5e4979 (diff)
parent17c564cb99076eb0e2b34eeed4f24a18febe7116 (diff)
downloadcompcert-kvx-050f408dd2b3f2cf1b8db512edafe2701b7a2dce.tar.gz
compcert-kvx-050f408dd2b3f2cf1b8db512edafe2701b7a2dce.zip
Merge branch 'kvx-work' into mppa-RTLpathSE
Adapting the new mppa-RTLpathSE passes into the new Compiler.vexpand framework
Diffstat (limited to 'test/kvx/interop/framework.h')
-rw-r--r--test/kvx/interop/framework.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/kvx/interop/framework.h b/test/kvx/interop/framework.h
new file mode 100644
index 00000000..3bbfa271
--- /dev/null
+++ b/test/kvx/interop/framework.h
@@ -0,0 +1,66 @@
+#ifndef __FRAMEWORK_H__
+#define __FRAMEWORK_H__
+
+#include <stdio.h>
+#include "../prng/prng.c"
+
+#define BEGIN_TEST_N(type, N)\
+ int main(void){\
+ type t[N], c, i, j, S;\
+ srand(0);\
+ S = 0;\
+ for (i = 0 ; i < 100 ; i++){\
+ c = randlong();\
+ for (j = 0 ; j < N ; j++)\
+ t[j] = randlong();\
+ /* END BEGIN_TEST_N */
+
+#define BEGIN_TEST(type)\
+ int main(void){\
+ type a, b, c, S;\
+ int i;\
+ srand(0);\
+ S = 0;\
+ for (i = 0 ; i < 100 ; i++){\
+ c = randlong();\
+ a = randlong();\
+ b = randlong();
+ /* END BEGIN_TEST */
+
+/* In between BEGIN_TEST and END_TEST : definition of c */
+
+#define END_TEST64()\
+ printf("%llu\t%llu\t%llu\n", a, b, c);\
+ S += c;\
+ }\
+ return S;\
+ }
+ /* END END_TEST64 */
+
+#define END_TEST32()\
+ printf("%u\t%u\t%u\n", a, b, c);\
+ S += c;\
+ }\
+ return S;\
+ }
+ /* END END_TEST32 */
+
+#define END_TESTF32()\
+ printf("%e\t%e\t%e\n", a, b, c);\
+ S += c;\
+ }\
+ return 0;\
+ }
+ /* END END_TESTF32 */
+
+#define END_TESTF64()\
+ printf("%e\t%e\t%e\n", a, b, c);\
+ S += c;\
+ }\
+ return 0;\
+ }
+ /* END END_TESTF64 */
+
+#endif
+
+