aboutsummaryrefslogtreecommitdiffstats
path: root/test/mppa
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2019-09-19 17:59:08 +0200
committerCyril SIX <cyril.six@kalray.eu>2019-09-19 17:59:08 +0200
commit371fc75ba09f7c1e7ea11ec4fe4e04aca05b5bef (patch)
treea2dd70f5e2b62357134848c179c845f061f4972f /test/mppa
parent7f1025fa2da08e68b839b7b6ea89771822dcfe83 (diff)
downloadcompcert-kvx-371fc75ba09f7c1e7ea11ec4fe4e04aca05b5bef.tar.gz
compcert-kvx-371fc75ba09f7c1e7ea11ec4fe4e04aca05b5bef.zip
Adding some function calls in interop tests
Diffstat (limited to 'test/mppa')
-rw-r--r--test/mppa/interop/common.c10
-rw-r--r--test/mppa/interop/vaarg_common.c12
2 files changed, 15 insertions, 7 deletions
diff --git a/test/mppa/interop/common.c b/test/mppa/interop/common.c
index e939e0d1..05b49187 100644
--- a/test/mppa/interop/common.c
+++ b/test/mppa/interop/common.c
@@ -1,17 +1,21 @@
#define STACK int a[100];\
a[42] = 42;
-#define ONEARG_OP(arg) (3*arg+2)
+#define ONEARG_OP(arg) (3*magic(arg)+2)
-#define MULTIARG_OP(arg1, arg2, arg3, arg4) (arg1 ^ arg2 << arg3 - arg4)
+#define MULTIARG_OP(arg1, arg2, arg3, arg4) (arg1 ^ magic(arg2) << arg3 - arg4)
#define MANYARG_OP(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,\
a10, a11, a12, a13, a14, a15, a16, a17, a18, a19,\
a20, a21, a22, a23, a24, a25, a26, a27, a28, a29)\
- (a0 * a1 * a2 * a3 * a4 * a5 * a6 * a7 * a8 * a9 *\
+ (a0 * a1 * a2 * magic(a3) * a4 * a5 * a6 * a7 * a8 * a9 *\
a10 * a11 * a12 * a13 * a14 * a15 * a16 * a17 * a18 * a19 *\
a20 * a21 * a22 * a23 * a24 * a25 * a26 * a27 * a28 * a29)
+int magic(long a){
+ return a*42 + 26;
+}
+
void void_void(){
STACK;
}
diff --git a/test/mppa/interop/vaarg_common.c b/test/mppa/interop/vaarg_common.c
index 9033893b..3314959f 100644
--- a/test/mppa/interop/vaarg_common.c
+++ b/test/mppa/interop/vaarg_common.c
@@ -3,20 +3,24 @@
#define STACK int a[100];\
a[42] = 42;
-#define ONEARG_OP(arg) (3*arg+2)
+#define ONEARG_OP(arg) (3*magic(arg)+2)
-#define MULTIARG_OP(arg1, arg2, arg3, arg4) (arg1 ^ arg2 << arg3 - arg4)
+#define MULTIARG_OP(arg1, arg2, arg3, arg4) (arg1 ^ magic(arg2) << arg3 - arg4)
#define MANYARG_OP(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,\
a10, a11, a12, a13, a14, a15, a16, a17, a18, a19,\
a20, a21, a22, a23, a24, a25, a26, a27, a28, a29)\
- (a0 + a1 * a2 + a3 * a4 + a5 + a6 + a7 - a8 + a9 +\
- a10 + a11 - a12 ^ a13 + a14 - a15 + a16 ^ a17 + a18 + a19 +\
+ (a0 + a1 * a2 + magic(a3) * a4 + a5 + a6 + a7 - a8 + a9 +\
+ a10 + a11 - a12 ^ a13 + a14 - magic(a15) + a16 ^ a17 + a18 + a19 +\
a20 + a21 + a22 * a23 + a24 + a25 << a26 & a27 + a28 + a29)
#define VA_START(vl, arg) va_list vl; va_start(vl, arg)
#define VA_END(vl) va_end(vl)
+int magic(long a){
+ return a*2 + 42;
+}
+
void void_void(void){
STACK;
}