aboutsummaryrefslogtreecommitdiffstats
path: root/test/mppa/instr
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2018-11-13 11:44:56 +0100
committerCyril SIX <cyril.six@kalray.eu>2018-11-13 11:44:56 +0100
commitd15b2c014daf547e10504278ae42d4651dc71319 (patch)
tree51e639c72c8d9b902621f1c27baf869da263d57e /test/mppa/instr
parentf24d303df6cb125ca19b953bb364955cc6e8c246 (diff)
downloadcompcert-kvx-d15b2c014daf547e10504278ae42d4651dc71319.tar.gz
compcert-kvx-d15b2c014daf547e10504278ae42d4651dc71319.zip
Revamped the instruction testsuite (all instructions work except umodd and udivd)
Diffstat (limited to 'test/mppa/instr')
-rw-r--r--test/mppa/instr/.gitignore1
-rw-r--r--test/mppa/instr/addw.c5
-rw-r--r--test/mppa/instr/andd.c5
-rw-r--r--test/mppa/instr/andw.c5
-rw-r--r--test/mppa/instr/branch.c10
-rw-r--r--test/mppa/instr/branchz.c10
-rw-r--r--test/mppa/instr/branchzu.c11
-rw-r--r--test/mppa/instr/call.c16
-rw-r--r--test/mppa/instr/cb.deqz.c10
-rw-r--r--test/mppa/instr/cb.dgez.c10
-rw-r--r--test/mppa/instr/cb.dgtz.c10
-rw-r--r--test/mppa/instr/cb.dlez.c10
-rw-r--r--test/mppa/instr/cb.dltz.c10
-rw-r--r--test/mppa/instr/cb.dnez.c10
-rw-r--r--test/mppa/instr/cb.wgez.c10
-rw-r--r--test/mppa/instr/cb.wgtz.c10
-rw-r--r--test/mppa/instr/cb.wlez.c10
-rw-r--r--test/mppa/instr/cb.wltz.c10
-rw-r--r--test/mppa/instr/compd.eq.c7
-rw-r--r--test/mppa/instr/compd.geu.c7
-rw-r--r--test/mppa/instr/compd.gt.c7
-rw-r--r--test/mppa/instr/compd.gtu.c7
-rw-r--r--test/mppa/instr/compd.le.c7
-rw-r--r--test/mppa/instr/compd.leu.c7
-rw-r--r--test/mppa/instr/compd.lt.c7
-rw-r--r--test/mppa/instr/compd.ltu.c7
-rw-r--r--test/mppa/instr/compd.ne.c7
-rw-r--r--test/mppa/instr/compw.eq.c7
-rw-r--r--test/mppa/instr/compw.geu.c7
-rw-r--r--test/mppa/instr/compw.gt.c7
-rw-r--r--test/mppa/instr/compw.gtu.c7
-rw-r--r--test/mppa/instr/compw.le.c7
-rw-r--r--test/mppa/instr/compw.leu.c7
-rw-r--r--test/mppa/instr/compw.lt.c7
-rw-r--r--test/mppa/instr/compw.ltu.c7
-rw-r--r--test/mppa/instr/compw.ne.c7
-rw-r--r--test/mppa/instr/div2.c7
-rw-r--r--test/mppa/instr/for.c9
-rw-r--r--test/mppa/instr/forvar.c9
-rw-r--r--test/mppa/instr/forvarl.c10
-rw-r--r--test/mppa/instr/framework.h26
-rw-r--r--test/mppa/instr/lbs.c9
-rw-r--r--test/mppa/instr/lbz.c9
-rw-r--r--test/mppa/instr/muld.c7
-rw-r--r--test/mppa/instr/mulw.c7
-rw-r--r--test/mppa/instr/negd.c7
-rw-r--r--test/mppa/instr/ord.c7
-rw-r--r--test/mppa/instr/sbfd.c7
-rw-r--r--test/mppa/instr/sbfw.c7
-rw-r--r--test/mppa/instr/simple.c7
-rw-r--r--test/mppa/instr/sllw.c7
-rw-r--r--test/mppa/instr/srad.c7
-rw-r--r--test/mppa/instr/srld.c7
-rw-r--r--test/mppa/instr/udivd.c7
-rw-r--r--test/mppa/instr/umodd.c7
-rw-r--r--test/mppa/instr/xord.c7
56 files changed, 459 insertions, 0 deletions
diff --git a/test/mppa/instr/.gitignore b/test/mppa/instr/.gitignore
new file mode 100644
index 00000000..ea1472ec
--- /dev/null
+++ b/test/mppa/instr/.gitignore
@@ -0,0 +1 @@
+output/
diff --git a/test/mppa/instr/addw.c b/test/mppa/instr/addw.c
new file mode 100644
index 00000000..be8afc67
--- /dev/null
+++ b/test/mppa/instr/addw.c
@@ -0,0 +1,5 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+ c = a+b;
+END_TEST()
diff --git a/test/mppa/instr/andd.c b/test/mppa/instr/andd.c
new file mode 100644
index 00000000..4f503764
--- /dev/null
+++ b/test/mppa/instr/andd.c
@@ -0,0 +1,5 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+ return a&b;
+END_TEST()
diff --git a/test/mppa/instr/andw.c b/test/mppa/instr/andw.c
new file mode 100644
index 00000000..99de0049
--- /dev/null
+++ b/test/mppa/instr/andw.c
@@ -0,0 +1,5 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+ c = a&b;
+END_TEST()
diff --git a/test/mppa/instr/branch.c b/test/mppa/instr/branch.c
new file mode 100644
index 00000000..72e7e20e
--- /dev/null
+++ b/test/mppa/instr/branch.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ if ((a & 0x1) == 1)
+ c = 0;
+ else
+ c = 1;
+}
+END_TEST()
diff --git a/test/mppa/instr/branchz.c b/test/mppa/instr/branchz.c
new file mode 100644
index 00000000..fb86d357
--- /dev/null
+++ b/test/mppa/instr/branchz.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ if (a & 0x1 == 0)
+ c = 0;
+ else
+ c = 1;
+}
+END_TEST()
diff --git a/test/mppa/instr/branchzu.c b/test/mppa/instr/branchzu.c
new file mode 100644
index 00000000..97adb605
--- /dev/null
+++ b/test/mppa/instr/branchzu.c
@@ -0,0 +1,11 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ b = !(a & 0x01);
+ if (!b)
+ c = 0;
+ else
+ c = 1;
+}
+END_TEST()
diff --git a/test/mppa/instr/call.c b/test/mppa/instr/call.c
new file mode 100644
index 00000000..727cef63
--- /dev/null
+++ b/test/mppa/instr/call.c
@@ -0,0 +1,16 @@
+#include "framework.h"
+
+int sum(int a, int b){
+ return a+b;
+}
+
+int make(int a){
+ return a;
+}
+
+BEGIN_TEST(int)
+{
+ c = sum(make(a), make(b));
+}
+END_TEST()
+/* RETURN VALUE: 60 */
diff --git a/test/mppa/instr/cb.deqz.c b/test/mppa/instr/cb.deqz.c
new file mode 100644
index 00000000..c56733f0
--- /dev/null
+++ b/test/mppa/instr/cb.deqz.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ if (0 != (a & 0x1LL))
+ c = 1;
+ else
+ c = 0;
+}
+END_TEST()
diff --git a/test/mppa/instr/cb.dgez.c b/test/mppa/instr/cb.dgez.c
new file mode 100644
index 00000000..abb6ec57
--- /dev/null
+++ b/test/mppa/instr/cb.dgez.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ if (0 > (a & 0x1LL))
+ c = 1;
+ else
+ c = 0;
+}
+END_TEST()
diff --git a/test/mppa/instr/cb.dgtz.c b/test/mppa/instr/cb.dgtz.c
new file mode 100644
index 00000000..d4271845
--- /dev/null
+++ b/test/mppa/instr/cb.dgtz.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ if (0 >= (a & 0x1LL) - 1)
+ c = 1;
+ else
+ c = 0;
+}
+END_TEST()
diff --git a/test/mppa/instr/cb.dlez.c b/test/mppa/instr/cb.dlez.c
new file mode 100644
index 00000000..18e67f06
--- /dev/null
+++ b/test/mppa/instr/cb.dlez.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ if (a & 0x1LL > 0)
+ c = 1;
+ else
+ c = 0;
+}
+END_TEST()
diff --git a/test/mppa/instr/cb.dltz.c b/test/mppa/instr/cb.dltz.c
new file mode 100644
index 00000000..366aea49
--- /dev/null
+++ b/test/mppa/instr/cb.dltz.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ if ((a & 0x1LL) - 1 >= 0)
+ c = 1;
+ else
+ c = 0;
+}
+END_TEST()
diff --git a/test/mppa/instr/cb.dnez.c b/test/mppa/instr/cb.dnez.c
new file mode 100644
index 00000000..81c2cd29
--- /dev/null
+++ b/test/mppa/instr/cb.dnez.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ if (0 == (a & 0x1LL))
+ c = 1;
+ else
+ c = 0;
+}
+END_TEST()
diff --git a/test/mppa/instr/cb.wgez.c b/test/mppa/instr/cb.wgez.c
new file mode 100644
index 00000000..477f4bc6
--- /dev/null
+++ b/test/mppa/instr/cb.wgez.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ if (0 > (a & 0x1) - 1)
+ c = 1;
+ else
+ c = 0;
+}
+END_TEST()
diff --git a/test/mppa/instr/cb.wgtz.c b/test/mppa/instr/cb.wgtz.c
new file mode 100644
index 00000000..c9ab9a06
--- /dev/null
+++ b/test/mppa/instr/cb.wgtz.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ if (0 >= (a & 0x1))
+ c = 1;
+ else
+ c = 0;
+}
+END_TEST()
diff --git a/test/mppa/instr/cb.wlez.c b/test/mppa/instr/cb.wlez.c
new file mode 100644
index 00000000..c3069fda
--- /dev/null
+++ b/test/mppa/instr/cb.wlez.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ if ((a & 0x1) > 0)
+ c = 1;
+ else
+ c = 0;
+}
+END_TEST()
diff --git a/test/mppa/instr/cb.wltz.c b/test/mppa/instr/cb.wltz.c
new file mode 100644
index 00000000..6cf5fcf0
--- /dev/null
+++ b/test/mppa/instr/cb.wltz.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ if ((a & 0x1) - 1 >= 0)
+ c = 1;
+ else
+ c = 0;
+}
+END_TEST()
diff --git a/test/mppa/instr/compd.eq.c b/test/mppa/instr/compd.eq.c
new file mode 100644
index 00000000..d19a4d20
--- /dev/null
+++ b/test/mppa/instr/compd.eq.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ c = ((a & 0x1LL) == (b & 0x1LL));
+}
+END_TEST()
diff --git a/test/mppa/instr/compd.geu.c b/test/mppa/instr/compd.geu.c
new file mode 100644
index 00000000..edc31183
--- /dev/null
+++ b/test/mppa/instr/compd.geu.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned long long)
+{
+ c = (a >= b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compd.gt.c b/test/mppa/instr/compd.gt.c
new file mode 100644
index 00000000..24147779
--- /dev/null
+++ b/test/mppa/instr/compd.gt.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ c = (a > b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compd.gtu.c b/test/mppa/instr/compd.gtu.c
new file mode 100644
index 00000000..5ce82569
--- /dev/null
+++ b/test/mppa/instr/compd.gtu.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned long long)
+{
+ c = (a > b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compd.le.c b/test/mppa/instr/compd.le.c
new file mode 100644
index 00000000..a84aad97
--- /dev/null
+++ b/test/mppa/instr/compd.le.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ c = (a <= b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compd.leu.c b/test/mppa/instr/compd.leu.c
new file mode 100644
index 00000000..e386bc27
--- /dev/null
+++ b/test/mppa/instr/compd.leu.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned long long)
+{
+ c = (a <= b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compd.lt.c b/test/mppa/instr/compd.lt.c
new file mode 100644
index 00000000..df07a708
--- /dev/null
+++ b/test/mppa/instr/compd.lt.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ c = (a < b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compd.ltu.c b/test/mppa/instr/compd.ltu.c
new file mode 100644
index 00000000..dfaa8921
--- /dev/null
+++ b/test/mppa/instr/compd.ltu.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned long long)
+{
+ c = (a < b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compd.ne.c b/test/mppa/instr/compd.ne.c
new file mode 100644
index 00000000..19ce0a69
--- /dev/null
+++ b/test/mppa/instr/compd.ne.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned long long)
+{
+ c = ((a & 0x1ULL) != (b & 0x1ULL));
+}
+END_TEST()
diff --git a/test/mppa/instr/compw.eq.c b/test/mppa/instr/compw.eq.c
new file mode 100644
index 00000000..dc7a3ab1
--- /dev/null
+++ b/test/mppa/instr/compw.eq.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ c = ((a & 0x1) == (b & 0x1));
+}
+END_TEST()
diff --git a/test/mppa/instr/compw.geu.c b/test/mppa/instr/compw.geu.c
new file mode 100644
index 00000000..d72ca56c
--- /dev/null
+++ b/test/mppa/instr/compw.geu.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned int)
+{
+ c = (a >= b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compw.gt.c b/test/mppa/instr/compw.gt.c
new file mode 100644
index 00000000..9ad02610
--- /dev/null
+++ b/test/mppa/instr/compw.gt.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ c = (a > b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compw.gtu.c b/test/mppa/instr/compw.gtu.c
new file mode 100644
index 00000000..77f04989
--- /dev/null
+++ b/test/mppa/instr/compw.gtu.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned int)
+{
+ c = (a > b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compw.le.c b/test/mppa/instr/compw.le.c
new file mode 100644
index 00000000..b7a7a432
--- /dev/null
+++ b/test/mppa/instr/compw.le.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ c = (a <= b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compw.leu.c b/test/mppa/instr/compw.leu.c
new file mode 100644
index 00000000..4892f06c
--- /dev/null
+++ b/test/mppa/instr/compw.leu.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned int)
+{
+ c = (a <= b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compw.lt.c b/test/mppa/instr/compw.lt.c
new file mode 100644
index 00000000..2cc151bf
--- /dev/null
+++ b/test/mppa/instr/compw.lt.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ c = (a < b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compw.ltu.c b/test/mppa/instr/compw.ltu.c
new file mode 100644
index 00000000..b524127f
--- /dev/null
+++ b/test/mppa/instr/compw.ltu.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned int)
+{
+ c = (a < b);
+}
+END_TEST()
diff --git a/test/mppa/instr/compw.ne.c b/test/mppa/instr/compw.ne.c
new file mode 100644
index 00000000..433b0b86
--- /dev/null
+++ b/test/mppa/instr/compw.ne.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned int)
+{
+ c = ((a & 0x1U) != (b & 0x1U));
+}
+END_TEST()
diff --git a/test/mppa/instr/div2.c b/test/mppa/instr/div2.c
new file mode 100644
index 00000000..01a4b575
--- /dev/null
+++ b/test/mppa/instr/div2.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ c = (a + b) / 2;
+}
+END_TEST()
diff --git a/test/mppa/instr/for.c b/test/mppa/instr/for.c
new file mode 100644
index 00000000..d6870afb
--- /dev/null
+++ b/test/mppa/instr/for.c
@@ -0,0 +1,9 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ int j;
+ for (j = 0 ; j < 10 ; j++)
+ c += a;
+}
+END_TEST()
diff --git a/test/mppa/instr/forvar.c b/test/mppa/instr/forvar.c
new file mode 100644
index 00000000..57548274
--- /dev/null
+++ b/test/mppa/instr/forvar.c
@@ -0,0 +1,9 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ int j;
+ for (j = 0 ; j < (b & 0x8) ; j++)
+ c += a;
+}
+END_TEST()
diff --git a/test/mppa/instr/forvarl.c b/test/mppa/instr/forvarl.c
new file mode 100644
index 00000000..30717a51
--- /dev/null
+++ b/test/mppa/instr/forvarl.c
@@ -0,0 +1,10 @@
+#include "framework.h"
+
+BEGIN_TEST(long long int)
+{
+ int j;
+
+ for (j = 0 ; j < (b & 0x8LL) ; j++)
+ c += a;
+}
+END_TEST()
diff --git a/test/mppa/instr/framework.h b/test/mppa/instr/framework.h
new file mode 100644
index 00000000..f6077c46
--- /dev/null
+++ b/test/mppa/instr/framework.h
@@ -0,0 +1,26 @@
+#ifndef __FRAMEWORK_H__
+#define __FRAMEWORK_H__
+
+#include "../prng/prng.c"
+
+#define BEGIN_TEST(type)\
+ int main(void){\
+ type a, b, c, i, S;\
+ 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_TEST()\
+ S += c;\
+ }\
+ return S;\
+ }
+ /* END END_TEST */
+
+#endif
diff --git a/test/mppa/instr/lbs.c b/test/mppa/instr/lbs.c
new file mode 100644
index 00000000..f104d62b
--- /dev/null
+++ b/test/mppa/instr/lbs.c
@@ -0,0 +1,9 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ char s[] = "Tome and Cherry at the playa\n";
+
+ c = s[(a & (sizeof(s)-1))];
+}
+END_TEST()
diff --git a/test/mppa/instr/lbz.c b/test/mppa/instr/lbz.c
new file mode 100644
index 00000000..2deeaebe
--- /dev/null
+++ b/test/mppa/instr/lbz.c
@@ -0,0 +1,9 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ unsigned char s[] = "Tim is sorry at the playa\n";
+
+ c = s[a & (sizeof(s) - 1)];
+}
+END_TEST()
diff --git a/test/mppa/instr/muld.c b/test/mppa/instr/muld.c
new file mode 100644
index 00000000..9a40f389
--- /dev/null
+++ b/test/mppa/instr/muld.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ c = a*b;
+}
+END_TEST()
diff --git a/test/mppa/instr/mulw.c b/test/mppa/instr/mulw.c
new file mode 100644
index 00000000..bf517ce8
--- /dev/null
+++ b/test/mppa/instr/mulw.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ c = a * b;
+}
+END_TEST()
diff --git a/test/mppa/instr/negd.c b/test/mppa/instr/negd.c
new file mode 100644
index 00000000..a8e8ff45
--- /dev/null
+++ b/test/mppa/instr/negd.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ c = -a;
+}
+END_TEST()
diff --git a/test/mppa/instr/ord.c b/test/mppa/instr/ord.c
new file mode 100644
index 00000000..eaedcb28
--- /dev/null
+++ b/test/mppa/instr/ord.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ c = a | b;
+}
+END_TEST()
diff --git a/test/mppa/instr/sbfd.c b/test/mppa/instr/sbfd.c
new file mode 100644
index 00000000..912f1fdb
--- /dev/null
+++ b/test/mppa/instr/sbfd.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ c = a-b;
+}
+END_TEST()
diff --git a/test/mppa/instr/sbfw.c b/test/mppa/instr/sbfw.c
new file mode 100644
index 00000000..feffd497
--- /dev/null
+++ b/test/mppa/instr/sbfw.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ c = a-b;
+}
+END_TEST()
diff --git a/test/mppa/instr/simple.c b/test/mppa/instr/simple.c
new file mode 100644
index 00000000..89bba27e
--- /dev/null
+++ b/test/mppa/instr/simple.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ c = a+b;
+}
+END_TEST()
diff --git a/test/mppa/instr/sllw.c b/test/mppa/instr/sllw.c
new file mode 100644
index 00000000..df55c9e8
--- /dev/null
+++ b/test/mppa/instr/sllw.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(int)
+{
+ c = a << (b & 0x8);
+}
+END_TEST()
diff --git a/test/mppa/instr/srad.c b/test/mppa/instr/srad.c
new file mode 100644
index 00000000..b4047bc7
--- /dev/null
+++ b/test/mppa/instr/srad.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ c = a >> (b & 0x8LL);
+}
+END_TEST()
diff --git a/test/mppa/instr/srld.c b/test/mppa/instr/srld.c
new file mode 100644
index 00000000..71e82b2a
--- /dev/null
+++ b/test/mppa/instr/srld.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned long long)
+{
+ c = a >> (b & 0x8ULL);
+}
+END_TEST()
diff --git a/test/mppa/instr/udivd.c b/test/mppa/instr/udivd.c
new file mode 100644
index 00000000..52e0d412
--- /dev/null
+++ b/test/mppa/instr/udivd.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned long long)
+{
+ c = a/b;
+}
+END_TEST()
diff --git a/test/mppa/instr/umodd.c b/test/mppa/instr/umodd.c
new file mode 100644
index 00000000..e7dd506f
--- /dev/null
+++ b/test/mppa/instr/umodd.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(unsigned long long)
+{
+ c = a%b;
+}
+END_TEST()
diff --git a/test/mppa/instr/xord.c b/test/mppa/instr/xord.c
new file mode 100644
index 00000000..b9d86f06
--- /dev/null
+++ b/test/mppa/instr/xord.c
@@ -0,0 +1,7 @@
+#include "framework.h"
+
+BEGIN_TEST(long long)
+{
+ c = a^b;
+}
+END_TEST()