aboutsummaryrefslogtreecommitdiffstats
path: root/tests/tcg/cris/check_int64.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tcg/cris/check_int64.c')
-rw-r--r--tests/tcg/cris/check_int64.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/tcg/cris/check_int64.c b/tests/tcg/cris/check_int64.c
new file mode 100644
index 00000000..fc600176
--- /dev/null
+++ b/tests/tcg/cris/check_int64.c
@@ -0,0 +1,47 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include "sys.h"
+#include "crisutils.h"
+
+
+static inline int64_t add64(const int64_t a, const int64_t b)
+{
+ return a + b;
+}
+
+static inline int64_t sub64(const int64_t a, const int64_t b)
+{
+ return a - b;
+}
+
+int main(void)
+{
+ int64_t a = 1;
+ int64_t b = 2;
+
+ /* FIXME: add some tests. */
+ a = add64(a, b);
+ if (a != 3)
+ err();
+
+ a = sub64(a, b);
+ if (a != 1)
+ err();
+
+ a = add64(a, -4);
+ if (a != -3)
+ err();
+
+ a = add64(a, 3);
+ if (a != 0)
+ err();
+
+ a = 0;
+ a = sub64(a, 1);
+ if (a != -1)
+ err();
+
+ pass();
+ return 0;
+}