From d4f6e58fcbab1fa2df123e3849dd95f30400a896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Fri, 7 Dec 2018 10:28:31 +0000 Subject: tests/tcg: split cris tests into bare and libc directories MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bare tests are standalone assembly tests that don't require linking to any libc and hence can be built with kernel only compilers. The libc tests need a compiler capable of building properly linked userspace binaries. As we don't have such a cross compiler at the moment we won't be building those tests. Signed-off-by: Alex Bennée --- tests/tcg/cris/libc/check_int64.c | 47 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 tests/tcg/cris/libc/check_int64.c (limited to 'tests/tcg/cris/libc/check_int64.c') diff --git a/tests/tcg/cris/libc/check_int64.c b/tests/tcg/cris/libc/check_int64.c new file mode 100644 index 0000000000..69caec1bb2 --- /dev/null +++ b/tests/tcg/cris/libc/check_int64.c @@ -0,0 +1,47 @@ +#include +#include +#include +#include "sys.h" +#include "crisutils.h" + + +static always_inline int64_t add64(const int64_t a, const int64_t b) +{ + return a + b; +} + +static always_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; +} -- cgit v1.2.3