aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-03-22 12:48:30 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-03-22 12:48:30 +0100
commitc5836e2d5f6a7183db97905040376f68459ad465 (patch)
tree40d22c3a7de3de84984d86e2c83c3cdbceda60f2 /test
parent0b393f7e37315e055eddc5cfba8333639ca265be (diff)
parenta72d1d49ff2d77d0e384c81a8bf2c69bc926194a (diff)
downloadcompcert-kvx-c5836e2d5f6a7183db97905040376f68459ad465.tar.gz
compcert-kvx-c5836e2d5f6a7183db97905040376f68459ad465.zip
Merge branch 'mppa-mul' of gricad-gitlab.univ-grenoble-alpes.fr:sixcy/CompCert into mppa-mul
Diffstat (limited to 'test')
-rw-r--r--test/monniaux/mbedtls/mbedtls_Kalray.patch63
-rw-r--r--test/mppa/instr/andd.c5
-rw-r--r--test/mppa/instr/div32.c (renamed from test/mppa/instr/addw.c)2
-rw-r--r--test/mppa/instr/divf32.c (renamed from test/mppa/instr/faddw.c)2
-rw-r--r--test/mppa/instr/divf64.c (renamed from test/mppa/instr/faddd.c)2
-rw-r--r--test/mppa/instr/divu32.c (renamed from test/mppa/instr/cast_U32_S64.c)2
-rw-r--r--test/mppa/instr/f32.c8
-rw-r--r--test/mppa/instr/f64.c8
-rw-r--r--test/mppa/instr/i32.c87
-rw-r--r--test/mppa/instr/i64.c107
-rw-r--r--test/mppa/instr/individual/andw.c (renamed from test/mppa/instr/andw.c)0
-rw-r--r--test/mppa/instr/individual/branch.c (renamed from test/mppa/instr/branch.c)0
-rw-r--r--test/mppa/instr/individual/branchz.c (renamed from test/mppa/instr/branchz.c)0
-rw-r--r--test/mppa/instr/individual/branchzu.c (renamed from test/mppa/instr/branchzu.c)0
-rw-r--r--test/mppa/instr/individual/call.c (renamed from test/mppa/instr/call.c)0
-rw-r--r--test/mppa/instr/individual/cast_S32_S64.c (renamed from test/mppa/instr/cast_S32_S64.c)0
-rw-r--r--test/mppa/instr/individual/cast_S64_U32.c (renamed from test/mppa/instr/cast_S64_U32.c)0
-rw-r--r--test/mppa/instr/individual/cb.deqz.c (renamed from test/mppa/instr/cb.deqz.c)0
-rw-r--r--test/mppa/instr/individual/cb.dgez.c (renamed from test/mppa/instr/cb.dgez.c)0
-rw-r--r--test/mppa/instr/individual/cb.dgtz.c (renamed from test/mppa/instr/cb.dgtz.c)0
-rw-r--r--test/mppa/instr/individual/cb.dlez.c (renamed from test/mppa/instr/cb.dlez.c)0
-rw-r--r--test/mppa/instr/individual/cb.dltz.c (renamed from test/mppa/instr/cb.dltz.c)0
-rw-r--r--test/mppa/instr/individual/cb.dnez.c (renamed from test/mppa/instr/cb.dnez.c)0
-rw-r--r--test/mppa/instr/individual/cb.wgez.c (renamed from test/mppa/instr/cb.wgez.c)0
-rw-r--r--test/mppa/instr/individual/cb.wgtz.c (renamed from test/mppa/instr/cb.wgtz.c)0
-rw-r--r--test/mppa/instr/individual/cb.wlez.c (renamed from test/mppa/instr/cb.wlez.c)0
-rw-r--r--test/mppa/instr/individual/cb.wltz.c (renamed from test/mppa/instr/cb.wltz.c)0
-rw-r--r--test/mppa/instr/individual/compd.eq.c (renamed from test/mppa/instr/compd.eq.c)0
-rw-r--r--test/mppa/instr/individual/compd.geu.c (renamed from test/mppa/instr/compd.geu.c)0
-rw-r--r--test/mppa/instr/individual/compd.gt.c (renamed from test/mppa/instr/compd.gt.c)0
-rw-r--r--test/mppa/instr/individual/compd.le.c (renamed from test/mppa/instr/compd.le.c)0
-rw-r--r--test/mppa/instr/individual/compd.leu.c (renamed from test/mppa/instr/compd.leu.c)0
-rw-r--r--test/mppa/instr/individual/compd.lt.c (renamed from test/mppa/instr/compd.lt.c)0
-rw-r--r--test/mppa/instr/individual/compd.ltu.c (renamed from test/mppa/instr/compd.ltu.c)0
-rw-r--r--test/mppa/instr/individual/compd.ne.c (renamed from test/mppa/instr/compd.ne.c)0
-rw-r--r--test/mppa/instr/individual/compw.eq.c (renamed from test/mppa/instr/compw.eq.c)0
-rw-r--r--test/mppa/instr/individual/compw.geu.c (renamed from test/mppa/instr/compw.geu.c)0
-rw-r--r--test/mppa/instr/individual/compw.gt.c (renamed from test/mppa/instr/compw.gt.c)0
-rw-r--r--test/mppa/instr/individual/compw.gtu.c (renamed from test/mppa/instr/compw.gtu.c)0
-rw-r--r--test/mppa/instr/individual/compw.le.c (renamed from test/mppa/instr/compw.le.c)0
-rw-r--r--test/mppa/instr/individual/compw.leu.c (renamed from test/mppa/instr/compw.leu.c)0
-rw-r--r--test/mppa/instr/individual/compw.lt.c (renamed from test/mppa/instr/compw.lt.c)0
-rw-r--r--test/mppa/instr/individual/compw.ltu.c (renamed from test/mppa/instr/compw.ltu.c)0
-rw-r--r--test/mppa/instr/individual/compw.ne.c (renamed from test/mppa/instr/compw.ne.c)0
-rw-r--r--test/mppa/instr/individual/div2.c (renamed from test/mppa/instr/div2.c)0
-rw-r--r--test/mppa/instr/individual/doubleconv.c (renamed from test/mppa/instr/doubleconv.c)0
-rw-r--r--test/mppa/instr/individual/floatconv.c (renamed from test/mppa/instr/floatconv.c)0
-rw-r--r--test/mppa/instr/individual/fmuld.c (renamed from test/mppa/instr/fmuld.c)0
-rw-r--r--test/mppa/instr/individual/fmulw.c (renamed from test/mppa/instr/fmulw.c)0
-rw-r--r--test/mppa/instr/individual/fnegd.c (renamed from test/mppa/instr/fnegd.c)0
-rw-r--r--test/mppa/instr/individual/fnegw.c (renamed from test/mppa/instr/fnegw.c)0
-rw-r--r--test/mppa/instr/individual/for.c (renamed from test/mppa/instr/for.c)0
-rw-r--r--test/mppa/instr/individual/forvar.c (renamed from test/mppa/instr/forvar.c)0
-rw-r--r--test/mppa/instr/individual/forvarl.c (renamed from test/mppa/instr/forvarl.c)0
-rw-r--r--test/mppa/instr/individual/fsbfd.c (renamed from test/mppa/instr/fsbfd.c)0
-rw-r--r--test/mppa/instr/individual/fsbfw.c (renamed from test/mppa/instr/fsbfw.c)0
-rw-r--r--test/mppa/instr/individual/indirect_call.c (renamed from test/mppa/instr/indirect_call.c)0
-rw-r--r--test/mppa/instr/individual/indirect_tailcall.c (renamed from test/mppa/instr/indirect_tailcall.c)0
-rw-r--r--test/mppa/instr/individual/lbs.c (renamed from test/mppa/instr/lbs.c)0
-rw-r--r--test/mppa/instr/individual/lbz.c (renamed from test/mppa/instr/lbz.c)0
-rw-r--r--test/mppa/instr/individual/muld.c (renamed from test/mppa/instr/muld.c)0
-rw-r--r--test/mppa/instr/individual/mulw.c (renamed from test/mppa/instr/mulw.c)0
-rw-r--r--test/mppa/instr/individual/negd.c (renamed from test/mppa/instr/negd.c)0
-rw-r--r--test/mppa/instr/individual/ord.c (renamed from test/mppa/instr/ord.c)0
-rw-r--r--test/mppa/instr/individual/sbfd.c (renamed from test/mppa/instr/sbfd.c)0
-rw-r--r--test/mppa/instr/individual/sbfw.c (renamed from test/mppa/instr/sbfw.c)0
-rw-r--r--test/mppa/instr/individual/simple.c (renamed from test/mppa/instr/simple.c)0
-rw-r--r--test/mppa/instr/individual/sllw.c (renamed from test/mppa/instr/sllw.c)0
-rw-r--r--test/mppa/instr/individual/srad.c (renamed from test/mppa/instr/srad.c)0
-rw-r--r--test/mppa/instr/individual/srld.c (renamed from test/mppa/instr/srld.c)0
-rw-r--r--test/mppa/instr/individual/tailcall.c (renamed from test/mppa/instr/tailcall.c)0
-rw-r--r--test/mppa/instr/individual/udivd.c (renamed from test/mppa/instr/udivd.c)0
-rw-r--r--test/mppa/instr/individual/umodd.c (renamed from test/mppa/instr/umodd.c)0
-rw-r--r--test/mppa/instr/individual/xord.c (renamed from test/mppa/instr/xord.c)0
-rw-r--r--test/mppa/instr/modi32.c5
-rw-r--r--test/mppa/instr/modui32.c7
-rw-r--r--test/mppa/instr/ui32.c12
-rw-r--r--test/mppa/instr/ui64.c (renamed from test/mppa/instr/compd.gtu.c)3
-rw-r--r--test/mppa/interop/i32.c (renamed from test/mppa/interop/i_manyiargs.c)6
-rw-r--r--test/mppa/interop/i64.c (renamed from test/mppa/interop/ll_manyllargs.c)8
-rw-r--r--test/mppa/interop/individual/i_multiiargs.c (renamed from test/mppa/interop/i_multiiargs.c)2
-rw-r--r--test/mppa/interop/individual/i_oneiarg.c (renamed from test/mppa/interop/i_oneiarg.c)2
-rw-r--r--test/mppa/interop/individual/ll_multillargs.c (renamed from test/mppa/interop/ll_multillargs.c)2
-rw-r--r--test/mppa/interop/individual/ll_onellarg.c (renamed from test/mppa/interop/ll_onellarg.c)2
-rw-r--r--test/mppa/interop/individual/ll_void.c (renamed from test/mppa/interop/ll_void.c)2
-rw-r--r--test/mppa/interop/individual/void_void.c (renamed from test/mppa/interop/void_void.c)2
86 files changed, 272 insertions, 67 deletions
diff --git a/test/monniaux/mbedtls/mbedtls_Kalray.patch b/test/monniaux/mbedtls/mbedtls_Kalray.patch
index 25cd5922..594ee7fa 100644
--- a/test/monniaux/mbedtls/mbedtls_Kalray.patch
+++ b/test/monniaux/mbedtls/mbedtls_Kalray.patch
@@ -39,56 +39,6 @@ index f89bf9604..9f8a4faeb 100644
/**
* \def MBEDTLS_VERSION_C
-diff --git a/library/bignum.c b/library/bignum.c
-index 87015af0c..a2bad7b84 100644
---- a/library/bignum.c
-+++ b/library/bignum.c
-@@ -1696,6 +1696,8 @@ cleanup:
- return( ret );
- }
-
-+#define INT_DIV(x,y) ((x) / (y))
-+
- /*
- * Modulo: r = A mod b
- */
-@@ -1734,12 +1736,12 @@ int mbedtls_mpi_mod_int( mbedtls_mpi_uint *r, const mbedtls_mpi *A, mbedtls_mpi_
- {
- x = A->p[i - 1];
- y = ( y << biH ) | ( x >> biH );
-- z = y / b;
-+ z = INT_DIV(y, b);
- y -= z * b;
-
- x <<= biH;
- y = ( y << biH ) | ( x >> biH );
-- z = y / b;
-+ z = INT_DIV(y, b);
- y -= z * b;
- }
-
-diff --git a/library/ssl_tls.c b/library/ssl_tls.c
-index 8710a5076..e47c859fe 100644
---- a/library/ssl_tls.c
-+++ b/library/ssl_tls.c
-@@ -2482,6 +2482,8 @@ static int ssl_decompress_buf( mbedtls_ssl_context *ssl )
- }
- #endif /* MBEDTLS_ZLIB_SUPPORT */
-
-+#define INT_DIV(x, y) (((long)(x))/(y))
-+
- #if defined(MBEDTLS_SSL_SRV_C) && defined(MBEDTLS_SSL_RENEGOTIATION)
- static int ssl_write_hello_request( mbedtls_ssl_context *ssl );
-
-@@ -2492,7 +2494,7 @@ static int ssl_resend_hello_request( mbedtls_ssl_context *ssl )
- * timeout if we were using the usual handshake doubling scheme */
- if( ssl->conf->renego_max_records < 0 )
- {
-- uint32_t ratio = ssl->conf->hs_timeout_max / ssl->conf->hs_timeout_min + 1;
-+ uint32_t ratio = INT_DIV(ssl->conf->hs_timeout_max, ssl->conf->hs_timeout_min + 1);
- unsigned char doublings = 1;
-
- while( ratio != 0 )
diff --git a/tests/suites/helpers.function b/tests/suites/helpers.function
index 1255ff4be..103abe9a8 100644
--- a/tests/suites/helpers.function
@@ -105,3 +55,16 @@ index 1255ff4be..103abe9a8 100644
#endif
/* Type for Hex parameters */
+diff --git a/tests/scripts/run-test-suites.pl b/tests/scripts/run-test-suites.pl
+index d0d4046..00cff26 100755
+--- a/tests/scripts/run-test-suites.pl
++++ b/tests/scripts/run-test-suites.pl
+@@ -59,7 +59,7 @@ for my $suite (@suites)
+ if( $verbose ) {
+ $command .= ' -v';
+ }
+- my $result = `$command`;
++ my $result = `k1-cluster -- $command`;
+
+ $suite_cases_passed = () = $result =~ /.. PASS/g;
+ $suite_cases_failed = () = $result =~ /.. FAILED/g;
diff --git a/test/mppa/instr/andd.c b/test/mppa/instr/andd.c
deleted file mode 100644
index e3221bd7..00000000
--- a/test/mppa/instr/andd.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "framework.h"
-
-BEGIN_TEST(long long)
- c = a&b;
-END_TEST64()
diff --git a/test/mppa/instr/addw.c b/test/mppa/instr/div32.c
index e22024cf..83c3a0e3 100644
--- a/test/mppa/instr/addw.c
+++ b/test/mppa/instr/div32.c
@@ -1,5 +1,5 @@
#include "framework.h"
BEGIN_TEST(int)
- c = a+b;
+ c = a/b;
END_TEST32()
diff --git a/test/mppa/instr/faddw.c b/test/mppa/instr/divf32.c
index e0e635ae..513a3293 100644
--- a/test/mppa/instr/faddw.c
+++ b/test/mppa/instr/divf32.c
@@ -1,5 +1,5 @@
#include "framework.h"
BEGIN_TEST(float)
- c = ((float)a + (float)b);
+ c = a / b;
END_TESTF32()
diff --git a/test/mppa/instr/faddd.c b/test/mppa/instr/divf64.c
index 35b7fc92..0dd23826 100644
--- a/test/mppa/instr/faddd.c
+++ b/test/mppa/instr/divf64.c
@@ -1,5 +1,5 @@
#include "framework.h"
BEGIN_TEST(double)
- c = ((double)a + (double)b);
+ c = a / b;
END_TESTF64()
diff --git a/test/mppa/instr/cast_U32_S64.c b/test/mppa/instr/divu32.c
index 6f9cd059..1fe196c4 100644
--- a/test/mppa/instr/cast_U32_S64.c
+++ b/test/mppa/instr/divu32.c
@@ -2,6 +2,6 @@
BEGIN_TEST(unsigned int)
{
- c = (long long) a;
+ c = a/b;
}
END_TEST32()
diff --git a/test/mppa/instr/f32.c b/test/mppa/instr/f32.c
new file mode 100644
index 00000000..7e304aeb
--- /dev/null
+++ b/test/mppa/instr/f32.c
@@ -0,0 +1,8 @@
+#include "framework.h"
+
+BEGIN_TEST(float)
+ c = ((float)a + (float)b);
+ c += ((float)a * (float)b);
+ c += (-(float)a);
+ c += ((float)a - (float)b);
+END_TESTF32()
diff --git a/test/mppa/instr/f64.c b/test/mppa/instr/f64.c
new file mode 100644
index 00000000..be8094c9
--- /dev/null
+++ b/test/mppa/instr/f64.c
@@ -0,0 +1,8 @@
+#include "framework.h"
+
+BEGIN_TEST(double)
+ c = ((double)a + (double)b);
+ c += ((double)a * (double)b);
+ c += (-(double)a);
+ c += ((double)a - (double)b);
+END_TESTF64()
diff --git a/test/mppa/instr/i32.c b/test/mppa/instr/i32.c
new file mode 100644
index 00000000..c48531b1
--- /dev/null
+++ b/test/mppa/instr/i32.c
@@ -0,0 +1,87 @@
+#include "framework.h"
+
+int sum(int a, int b){
+ return a+b;
+}
+
+int make(int a){
+ return a;
+}
+
+int tailsum(int a, int b){
+ return make(a+b);
+}
+
+float int2float(int v){
+ return v;
+}
+
+BEGIN_TEST(int)
+ c = a+b;
+ c += a&b;
+
+ if ((a & 0x1) == 1)
+ c += 1;
+ else
+ c += 2;
+
+ if (a & 0x1 == 0)
+ c += 4;
+ else
+ c += 8;
+
+ b = !(a & 0x01);
+ if (!b)
+ c += 16;
+ else
+ c += 32;
+
+ c += sum(make(a), make(b));
+ c += (long long) a;
+
+ if (0 > (a & 0x1) - 1)
+ c += 64;
+ else
+ c += 128;
+
+ if (0 >= (a & 0x1))
+ c += 256;
+ else
+ c += 512;
+
+ if ((a & 0x1) > 0)
+ c += 1024;
+ else
+ c += 2048;
+
+ if ((a & 0x1) - 1 >= 0)
+ c += 4096;
+ else
+ c += 8192;
+
+ c += ((a & 0x1) == (b & 0x1));
+ c += (a > b);
+ c += (a <= b);
+ c += (a < b);
+ c += (a + b) / 2;
+ c += (int) int2float(a) + (int) int2float(b) + (int) int2float(42.3);
+
+ int j;
+ for (j = 0 ; j < 10 ; j++)
+ c += a;
+ int k;
+ for (k = 0 ; k < (b & 0x8) ; k++)
+ c += a;
+
+ char s[] = "Tome and Cherry at the playa\n";
+ c += s[(a & (sizeof(s)-1))];
+
+ unsigned char s2[] = "Tim is sorry at the playa\n";
+ c += s2[a & (sizeof(s) - 1)];
+
+ c += a*b;
+ c += a-b;
+ c += a << (b & 0x8);
+
+ c += sum(a, b);
+END_TEST32()
diff --git a/test/mppa/instr/i64.c b/test/mppa/instr/i64.c
new file mode 100644
index 00000000..00eb159d
--- /dev/null
+++ b/test/mppa/instr/i64.c
@@ -0,0 +1,107 @@
+#include "framework.h"
+
+long long sum(long long a, long long b){
+ return a+b;
+}
+
+long long diff(long long a, long long b){
+ return a-b;
+}
+
+long long mul(long long a, long long b){
+ return a*b;
+}
+
+long long make(long long a){
+ return a;
+}
+
+long long random_op(long long a, long long b){
+ long long d = 3;
+ long long (*op)(long long, long long);
+
+ if (a % d == 0)
+ op = sum;
+ else if (a % d == 1)
+ op = diff;
+ else
+ op = mul;
+
+ return op(a, b);
+}
+
+double long2double(long v){
+ return v;
+}
+
+BEGIN_TEST(long long)
+ c = a&b;
+ c += a*b;
+ c += -a;
+ c += a | b;
+ c += a-b;
+ c += a >> (b & 0x8LL);
+ c += a >> (b & 0x8ULL);
+ c += a % b;
+
+ long long d = 3;
+ long long (*op)(long long, long long);
+
+ if (a % d == 0)
+ op = sum;
+ else if (a % d == 1)
+ op = diff;
+ else
+ op = mul;
+
+ c += op(make(a), make(b));
+ c += random_op(a, b);
+ c += a/b;
+ c += a^b;
+ c += (unsigned int) a;
+
+ if (0 != (a & 0x1LL))
+ c += 1;
+ else
+ c += 2;
+
+ if (0 > (a & 0x1LL))
+ c += 4;
+ else
+ c += 8;
+
+ if (0 >= (a & 0x1LL) - 1)
+ c += 16;
+ else
+ c += 32;
+
+ if (a & 0x1LL > 0)
+ c += 64;
+ else
+ c += 128;
+
+ if ((a & 0x1LL) - 1 >= 0)
+ c += 256;
+ else
+ c += 512;
+
+ if (0 == (a & 0x1LL))
+ c += 1024;
+ else
+ c += 2048;
+
+ c += ((a & 0x1LL) == (b & 0x1LL));
+ c += (a >= b);
+ c += (a > b);
+ c += (a <= b);
+ c += (a < b);
+ c += (long) long2double(a) + (long) long2double(b) + (long) long2double(42.3);
+
+ int j;
+
+ for (j = 0 ; j < (b & 0x8LL) ; j++)
+ c += a;
+
+ c += ((a & 0x1LL) == (b & 0x1LL));
+
+END_TEST64()
diff --git a/test/mppa/instr/andw.c b/test/mppa/instr/individual/andw.c
index 799dc7fb..799dc7fb 100644
--- a/test/mppa/instr/andw.c
+++ b/test/mppa/instr/individual/andw.c
diff --git a/test/mppa/instr/branch.c b/test/mppa/instr/individual/branch.c
index c9937e31..c9937e31 100644
--- a/test/mppa/instr/branch.c
+++ b/test/mppa/instr/individual/branch.c
diff --git a/test/mppa/instr/branchz.c b/test/mppa/instr/individual/branchz.c
index d3e021b5..d3e021b5 100644
--- a/test/mppa/instr/branchz.c
+++ b/test/mppa/instr/individual/branchz.c
diff --git a/test/mppa/instr/branchzu.c b/test/mppa/instr/individual/branchzu.c
index d0169174..d0169174 100644
--- a/test/mppa/instr/branchzu.c
+++ b/test/mppa/instr/individual/branchzu.c
diff --git a/test/mppa/instr/call.c b/test/mppa/instr/individual/call.c
index ba2ec323..ba2ec323 100644
--- a/test/mppa/instr/call.c
+++ b/test/mppa/instr/individual/call.c
diff --git a/test/mppa/instr/cast_S32_S64.c b/test/mppa/instr/individual/cast_S32_S64.c
index 09c97e00..09c97e00 100644
--- a/test/mppa/instr/cast_S32_S64.c
+++ b/test/mppa/instr/individual/cast_S32_S64.c
diff --git a/test/mppa/instr/cast_S64_U32.c b/test/mppa/instr/individual/cast_S64_U32.c
index 2d9dc723..2d9dc723 100644
--- a/test/mppa/instr/cast_S64_U32.c
+++ b/test/mppa/instr/individual/cast_S64_U32.c
diff --git a/test/mppa/instr/cb.deqz.c b/test/mppa/instr/individual/cb.deqz.c
index 6da2ab07..6da2ab07 100644
--- a/test/mppa/instr/cb.deqz.c
+++ b/test/mppa/instr/individual/cb.deqz.c
diff --git a/test/mppa/instr/cb.dgez.c b/test/mppa/instr/individual/cb.dgez.c
index 7bef25ad..7bef25ad 100644
--- a/test/mppa/instr/cb.dgez.c
+++ b/test/mppa/instr/individual/cb.dgez.c
diff --git a/test/mppa/instr/cb.dgtz.c b/test/mppa/instr/individual/cb.dgtz.c
index 1a43fb1f..1a43fb1f 100644
--- a/test/mppa/instr/cb.dgtz.c
+++ b/test/mppa/instr/individual/cb.dgtz.c
diff --git a/test/mppa/instr/cb.dlez.c b/test/mppa/instr/individual/cb.dlez.c
index 2fb97939..2fb97939 100644
--- a/test/mppa/instr/cb.dlez.c
+++ b/test/mppa/instr/individual/cb.dlez.c
diff --git a/test/mppa/instr/cb.dltz.c b/test/mppa/instr/individual/cb.dltz.c
index a431d5d0..a431d5d0 100644
--- a/test/mppa/instr/cb.dltz.c
+++ b/test/mppa/instr/individual/cb.dltz.c
diff --git a/test/mppa/instr/cb.dnez.c b/test/mppa/instr/individual/cb.dnez.c
index 44516cbe..44516cbe 100644
--- a/test/mppa/instr/cb.dnez.c
+++ b/test/mppa/instr/individual/cb.dnez.c
diff --git a/test/mppa/instr/cb.wgez.c b/test/mppa/instr/individual/cb.wgez.c
index 5779ad92..5779ad92 100644
--- a/test/mppa/instr/cb.wgez.c
+++ b/test/mppa/instr/individual/cb.wgez.c
diff --git a/test/mppa/instr/cb.wgtz.c b/test/mppa/instr/individual/cb.wgtz.c
index abb695bd..abb695bd 100644
--- a/test/mppa/instr/cb.wgtz.c
+++ b/test/mppa/instr/individual/cb.wgtz.c
diff --git a/test/mppa/instr/cb.wlez.c b/test/mppa/instr/individual/cb.wlez.c
index 3a2e08c1..3a2e08c1 100644
--- a/test/mppa/instr/cb.wlez.c
+++ b/test/mppa/instr/individual/cb.wlez.c
diff --git a/test/mppa/instr/cb.wltz.c b/test/mppa/instr/individual/cb.wltz.c
index 5d52c72a..5d52c72a 100644
--- a/test/mppa/instr/cb.wltz.c
+++ b/test/mppa/instr/individual/cb.wltz.c
diff --git a/test/mppa/instr/compd.eq.c b/test/mppa/instr/individual/compd.eq.c
index 4fe8de2a..4fe8de2a 100644
--- a/test/mppa/instr/compd.eq.c
+++ b/test/mppa/instr/individual/compd.eq.c
diff --git a/test/mppa/instr/compd.geu.c b/test/mppa/instr/individual/compd.geu.c
index fccf0804..fccf0804 100644
--- a/test/mppa/instr/compd.geu.c
+++ b/test/mppa/instr/individual/compd.geu.c
diff --git a/test/mppa/instr/compd.gt.c b/test/mppa/instr/individual/compd.gt.c
index b9901436..b9901436 100644
--- a/test/mppa/instr/compd.gt.c
+++ b/test/mppa/instr/individual/compd.gt.c
diff --git a/test/mppa/instr/compd.le.c b/test/mppa/instr/individual/compd.le.c
index 6fa0f103..6fa0f103 100644
--- a/test/mppa/instr/compd.le.c
+++ b/test/mppa/instr/individual/compd.le.c
diff --git a/test/mppa/instr/compd.leu.c b/test/mppa/instr/individual/compd.leu.c
index 1ad18281..1ad18281 100644
--- a/test/mppa/instr/compd.leu.c
+++ b/test/mppa/instr/individual/compd.leu.c
diff --git a/test/mppa/instr/compd.lt.c b/test/mppa/instr/individual/compd.lt.c
index c42cda56..c42cda56 100644
--- a/test/mppa/instr/compd.lt.c
+++ b/test/mppa/instr/individual/compd.lt.c
diff --git a/test/mppa/instr/compd.ltu.c b/test/mppa/instr/individual/compd.ltu.c
index b03d4d53..b03d4d53 100644
--- a/test/mppa/instr/compd.ltu.c
+++ b/test/mppa/instr/individual/compd.ltu.c
diff --git a/test/mppa/instr/compd.ne.c b/test/mppa/instr/individual/compd.ne.c
index fd9d0b28..fd9d0b28 100644
--- a/test/mppa/instr/compd.ne.c
+++ b/test/mppa/instr/individual/compd.ne.c
diff --git a/test/mppa/instr/compw.eq.c b/test/mppa/instr/individual/compw.eq.c
index cd93f365..cd93f365 100644
--- a/test/mppa/instr/compw.eq.c
+++ b/test/mppa/instr/individual/compw.eq.c
diff --git a/test/mppa/instr/compw.geu.c b/test/mppa/instr/individual/compw.geu.c
index b8fb1adf..b8fb1adf 100644
--- a/test/mppa/instr/compw.geu.c
+++ b/test/mppa/instr/individual/compw.geu.c
diff --git a/test/mppa/instr/compw.gt.c b/test/mppa/instr/individual/compw.gt.c
index 5f6bc907..5f6bc907 100644
--- a/test/mppa/instr/compw.gt.c
+++ b/test/mppa/instr/individual/compw.gt.c
diff --git a/test/mppa/instr/compw.gtu.c b/test/mppa/instr/individual/compw.gtu.c
index 947f6a14..947f6a14 100644
--- a/test/mppa/instr/compw.gtu.c
+++ b/test/mppa/instr/individual/compw.gtu.c
diff --git a/test/mppa/instr/compw.le.c b/test/mppa/instr/individual/compw.le.c
index 35ec6b7d..35ec6b7d 100644
--- a/test/mppa/instr/compw.le.c
+++ b/test/mppa/instr/individual/compw.le.c
diff --git a/test/mppa/instr/compw.leu.c b/test/mppa/instr/individual/compw.leu.c
index 74ebfb42..74ebfb42 100644
--- a/test/mppa/instr/compw.leu.c
+++ b/test/mppa/instr/individual/compw.leu.c
diff --git a/test/mppa/instr/compw.lt.c b/test/mppa/instr/individual/compw.lt.c
index cb1f30bd..cb1f30bd 100644
--- a/test/mppa/instr/compw.lt.c
+++ b/test/mppa/instr/individual/compw.lt.c
diff --git a/test/mppa/instr/compw.ltu.c b/test/mppa/instr/individual/compw.ltu.c
index 6a0c5af1..6a0c5af1 100644
--- a/test/mppa/instr/compw.ltu.c
+++ b/test/mppa/instr/individual/compw.ltu.c
diff --git a/test/mppa/instr/compw.ne.c b/test/mppa/instr/individual/compw.ne.c
index 7035e2c7..7035e2c7 100644
--- a/test/mppa/instr/compw.ne.c
+++ b/test/mppa/instr/individual/compw.ne.c
diff --git a/test/mppa/instr/div2.c b/test/mppa/instr/individual/div2.c
index b5dfe63a..b5dfe63a 100644
--- a/test/mppa/instr/div2.c
+++ b/test/mppa/instr/individual/div2.c
diff --git a/test/mppa/instr/doubleconv.c b/test/mppa/instr/individual/doubleconv.c
index 55b1ddab..55b1ddab 100644
--- a/test/mppa/instr/doubleconv.c
+++ b/test/mppa/instr/individual/doubleconv.c
diff --git a/test/mppa/instr/floatconv.c b/test/mppa/instr/individual/floatconv.c
index 32b798e1..32b798e1 100644
--- a/test/mppa/instr/floatconv.c
+++ b/test/mppa/instr/individual/floatconv.c
diff --git a/test/mppa/instr/fmuld.c b/test/mppa/instr/individual/fmuld.c
index 03c990fa..03c990fa 100644
--- a/test/mppa/instr/fmuld.c
+++ b/test/mppa/instr/individual/fmuld.c
diff --git a/test/mppa/instr/fmulw.c b/test/mppa/instr/individual/fmulw.c
index f85eba64..f85eba64 100644
--- a/test/mppa/instr/fmulw.c
+++ b/test/mppa/instr/individual/fmulw.c
diff --git a/test/mppa/instr/fnegd.c b/test/mppa/instr/individual/fnegd.c
index 974eb7e8..974eb7e8 100644
--- a/test/mppa/instr/fnegd.c
+++ b/test/mppa/instr/individual/fnegd.c
diff --git a/test/mppa/instr/fnegw.c b/test/mppa/instr/individual/fnegw.c
index fbeaab8e..fbeaab8e 100644
--- a/test/mppa/instr/fnegw.c
+++ b/test/mppa/instr/individual/fnegw.c
diff --git a/test/mppa/instr/for.c b/test/mppa/instr/individual/for.c
index 373ab6bd..373ab6bd 100644
--- a/test/mppa/instr/for.c
+++ b/test/mppa/instr/individual/for.c
diff --git a/test/mppa/instr/forvar.c b/test/mppa/instr/individual/forvar.c
index 9e43c198..9e43c198 100644
--- a/test/mppa/instr/forvar.c
+++ b/test/mppa/instr/individual/forvar.c
diff --git a/test/mppa/instr/forvarl.c b/test/mppa/instr/individual/forvarl.c
index c1fe90fd..c1fe90fd 100644
--- a/test/mppa/instr/forvarl.c
+++ b/test/mppa/instr/individual/forvarl.c
diff --git a/test/mppa/instr/fsbfd.c b/test/mppa/instr/individual/fsbfd.c
index f80c1efe..f80c1efe 100644
--- a/test/mppa/instr/fsbfd.c
+++ b/test/mppa/instr/individual/fsbfd.c
diff --git a/test/mppa/instr/fsbfw.c b/test/mppa/instr/individual/fsbfw.c
index 067c40b5..067c40b5 100644
--- a/test/mppa/instr/fsbfw.c
+++ b/test/mppa/instr/individual/fsbfw.c
diff --git a/test/mppa/instr/indirect_call.c b/test/mppa/instr/individual/indirect_call.c
index f376c00a..f376c00a 100644
--- a/test/mppa/instr/indirect_call.c
+++ b/test/mppa/instr/individual/indirect_call.c
diff --git a/test/mppa/instr/indirect_tailcall.c b/test/mppa/instr/individual/indirect_tailcall.c
index e6c16ea1..e6c16ea1 100644
--- a/test/mppa/instr/indirect_tailcall.c
+++ b/test/mppa/instr/individual/indirect_tailcall.c
diff --git a/test/mppa/instr/lbs.c b/test/mppa/instr/individual/lbs.c
index 22a50632..22a50632 100644
--- a/test/mppa/instr/lbs.c
+++ b/test/mppa/instr/individual/lbs.c
diff --git a/test/mppa/instr/lbz.c b/test/mppa/instr/individual/lbz.c
index 04ba098d..04ba098d 100644
--- a/test/mppa/instr/lbz.c
+++ b/test/mppa/instr/individual/lbz.c
diff --git a/test/mppa/instr/muld.c b/test/mppa/instr/individual/muld.c
index f7e23850..f7e23850 100644
--- a/test/mppa/instr/muld.c
+++ b/test/mppa/instr/individual/muld.c
diff --git a/test/mppa/instr/mulw.c b/test/mppa/instr/individual/mulw.c
index a91d966e..a91d966e 100644
--- a/test/mppa/instr/mulw.c
+++ b/test/mppa/instr/individual/mulw.c
diff --git a/test/mppa/instr/negd.c b/test/mppa/instr/individual/negd.c
index 837b9828..837b9828 100644
--- a/test/mppa/instr/negd.c
+++ b/test/mppa/instr/individual/negd.c
diff --git a/test/mppa/instr/ord.c b/test/mppa/instr/individual/ord.c
index cae1ae8b..cae1ae8b 100644
--- a/test/mppa/instr/ord.c
+++ b/test/mppa/instr/individual/ord.c
diff --git a/test/mppa/instr/sbfd.c b/test/mppa/instr/individual/sbfd.c
index 77c28c77..77c28c77 100644
--- a/test/mppa/instr/sbfd.c
+++ b/test/mppa/instr/individual/sbfd.c
diff --git a/test/mppa/instr/sbfw.c b/test/mppa/instr/individual/sbfw.c
index e38a1fff..e38a1fff 100644
--- a/test/mppa/instr/sbfw.c
+++ b/test/mppa/instr/individual/sbfw.c
diff --git a/test/mppa/instr/simple.c b/test/mppa/instr/individual/simple.c
index 944f09c9..944f09c9 100644
--- a/test/mppa/instr/simple.c
+++ b/test/mppa/instr/individual/simple.c
diff --git a/test/mppa/instr/sllw.c b/test/mppa/instr/individual/sllw.c
index 6dd41a6c..6dd41a6c 100644
--- a/test/mppa/instr/sllw.c
+++ b/test/mppa/instr/individual/sllw.c
diff --git a/test/mppa/instr/srad.c b/test/mppa/instr/individual/srad.c
index 00be9d0c..00be9d0c 100644
--- a/test/mppa/instr/srad.c
+++ b/test/mppa/instr/individual/srad.c
diff --git a/test/mppa/instr/srld.c b/test/mppa/instr/individual/srld.c
index 14970efd..14970efd 100644
--- a/test/mppa/instr/srld.c
+++ b/test/mppa/instr/individual/srld.c
diff --git a/test/mppa/instr/tailcall.c b/test/mppa/instr/individual/tailcall.c
index 6c659a01..6c659a01 100644
--- a/test/mppa/instr/tailcall.c
+++ b/test/mppa/instr/individual/tailcall.c
diff --git a/test/mppa/instr/udivd.c b/test/mppa/instr/individual/udivd.c
index cfb31881..cfb31881 100644
--- a/test/mppa/instr/udivd.c
+++ b/test/mppa/instr/individual/udivd.c
diff --git a/test/mppa/instr/umodd.c b/test/mppa/instr/individual/umodd.c
index a7f25f1c..a7f25f1c 100644
--- a/test/mppa/instr/umodd.c
+++ b/test/mppa/instr/individual/umodd.c
diff --git a/test/mppa/instr/xord.c b/test/mppa/instr/individual/xord.c
index b6a90cb0..b6a90cb0 100644
--- a/test/mppa/instr/xord.c
+++ b/test/mppa/instr/individual/xord.c
diff --git a/test/mppa/instr/modi32.c b/test/mppa/instr/modi32.c
new file mode 100644
index 00000000..958ae920
--- /dev/null
+++ b/test/mppa/instr/modi32.c
@@ -0,0 +1,5 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+ c = a%b;
+END_TEST32()
diff --git a/test/mppa/instr/modui32.c b/test/mppa/instr/modui32.c
new file mode 100644
index 00000000..a39034a8
--- /dev/null
+++ b/test/mppa/instr/modui32.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned int)
+{
+ c = a%b;
+}
+END_TEST32()
diff --git a/test/mppa/instr/ui32.c b/test/mppa/instr/ui32.c
new file mode 100644
index 00000000..f56a9b95
--- /dev/null
+++ b/test/mppa/instr/ui32.c
@@ -0,0 +1,12 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned int)
+{
+ c = (long long) a;
+ c += (a >= b);
+ c += (a > b);
+ c += (a <= b);
+ c += (a < b);
+ c += ((a & 0x1U) != (b & 0x1U));
+}
+END_TEST32()
diff --git a/test/mppa/instr/compd.gtu.c b/test/mppa/instr/ui64.c
index 7b2b96a6..908dec3c 100644
--- a/test/mppa/instr/compd.gtu.c
+++ b/test/mppa/instr/ui64.c
@@ -3,5 +3,8 @@
BEGIN_TEST(unsigned long long)
{
c = (a > b);
+ c += (a <= b);
+ c += (a < b);
+ c += ((a & 0x1ULL) != (b & 0x1ULL));
}
END_TEST64()
diff --git a/test/mppa/interop/i_manyiargs.c b/test/mppa/interop/i32.c
index d674c26f..6bc2705c 100644
--- a/test/mppa/interop/i_manyiargs.c
+++ b/test/mppa/interop/i32.c
@@ -5,5 +5,9 @@ BEGIN_TEST(int)
c = i_manyiargs(a, b, a-b, a+b, a*2, b*2, a*2-b, a+b*2, (a-b)*2, (a+b)*2,
-2*a, -2*b, a-b, a+b, a*3, b*3, a*3-b, a+b*3, (a-b)*3, (a+b)*3,
-3*a, -3*b, a-b, a+b, a*4, b*4, a*4-b, a+b*4, (a-b)*4, (a+b)*4);
-END_TEST()
+ c += i_multiiargs(a, b, a-b, a+b);
+ c += i_oneiarg(a);
+ void_void();
+ c += a;
+END_TEST32()
diff --git a/test/mppa/interop/ll_manyllargs.c b/test/mppa/interop/i64.c
index 6e0b3b36..3e7240f7 100644
--- a/test/mppa/interop/ll_manyllargs.c
+++ b/test/mppa/interop/i64.c
@@ -5,4 +5,10 @@ BEGIN_TEST(long long)
c = ll_manyllargs(a, b, a-b, a+b, a*2, b*2, a*2-b, a+b*2, (a-b)*2, (a+b)*2,
-2*a, -2*b, a-b, a+b, a*3, b*3, a*3-b, a+b*3, (a-b)*3, (a+b)*3,
-3*a, -3*b, a-b, a+b, a*4, b*4, a*4-b, a+b*4, (a-b)*4, (a+b)*4);
-END_TEST()
+ c += ll_multillargs(a, b, a-b, a+b);
+ c += ll_onellarg(a);
+ c = ll_void();
+ c += a;
+ void_void();
+ c += a;
+END_TEST64()
diff --git a/test/mppa/interop/i_multiiargs.c b/test/mppa/interop/individual/i_multiiargs.c
index 0e8c8936..888742b5 100644
--- a/test/mppa/interop/i_multiiargs.c
+++ b/test/mppa/interop/individual/i_multiiargs.c
@@ -3,4 +3,4 @@
BEGIN_TEST(int)
c = i_multiiargs(a, b, a-b, a+b);
-END_TEST()
+END_TEST32()
diff --git a/test/mppa/interop/i_oneiarg.c b/test/mppa/interop/individual/i_oneiarg.c
index 42cd1540..9c969fb8 100644
--- a/test/mppa/interop/i_oneiarg.c
+++ b/test/mppa/interop/individual/i_oneiarg.c
@@ -3,4 +3,4 @@
BEGIN_TEST(int)
c = i_oneiarg(a);
-END_TEST()
+END_TEST32()
diff --git a/test/mppa/interop/ll_multillargs.c b/test/mppa/interop/individual/ll_multillargs.c
index edb03b12..34b422eb 100644
--- a/test/mppa/interop/ll_multillargs.c
+++ b/test/mppa/interop/individual/ll_multillargs.c
@@ -3,5 +3,5 @@
BEGIN_TEST(long long)
c = ll_multillargs(a, b, a-b, a+b);
-END_TEST()
+END_TEST64()
diff --git a/test/mppa/interop/ll_onellarg.c b/test/mppa/interop/individual/ll_onellarg.c
index 0d182166..a2fbbbe9 100644
--- a/test/mppa/interop/ll_onellarg.c
+++ b/test/mppa/interop/individual/ll_onellarg.c
@@ -3,5 +3,5 @@
BEGIN_TEST(long long)
c = ll_onellarg(a);
-END_TEST()
+END_TEST64()
diff --git a/test/mppa/interop/ll_void.c b/test/mppa/interop/individual/ll_void.c
index fa350c9b..da128fdd 100644
--- a/test/mppa/interop/ll_void.c
+++ b/test/mppa/interop/individual/ll_void.c
@@ -4,4 +4,4 @@
BEGIN_TEST(long long)
c = ll_void();
c += a;
-END_TEST()
+END_TEST64()
diff --git a/test/mppa/interop/void_void.c b/test/mppa/interop/individual/void_void.c
index e729edb2..976a721b 100644
--- a/test/mppa/interop/void_void.c
+++ b/test/mppa/interop/individual/void_void.c
@@ -4,4 +4,4 @@
BEGIN_TEST(long long)
void_void();
c = a;
-END_TEST()
+END_TEST64()