aboutsummaryrefslogtreecommitdiff
path: root/deps/lightening/tests/callee_9.c
diff options
context:
space:
mode:
Diffstat (limited to 'deps/lightening/tests/callee_9.c')
-rw-r--r--deps/lightening/tests/callee_9.c68
1 files changed, 0 insertions, 68 deletions
diff --git a/deps/lightening/tests/callee_9.c b/deps/lightening/tests/callee_9.c
deleted file mode 100644
index b7f1a46..0000000
--- a/deps/lightening/tests/callee_9.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include "test.h"
-
-struct args
-{
- int8_t a;
- int16_t b;
- int32_t c;
- jit_word_t d;
- uint16_t e;
- float f;
- double g;
- float h;
-};
-
-static void
-run_test(jit_state_t *j, uint8_t *arena_base, size_t arena_size)
-{
- jit_begin(j, arena_base, arena_size);
- size_t align = jit_enter_jit_abi(j, 3, 0, 0);
-
- jit_operand_t args[9] = {
- jit_operand_gpr(JIT_OPERAND_ABI_POINTER, JIT_R0),
- jit_operand_gpr(JIT_OPERAND_ABI_INT8, JIT_R1),
- jit_operand_gpr(JIT_OPERAND_ABI_INT16, JIT_R2),
- jit_operand_gpr(JIT_OPERAND_ABI_INT32, JIT_V0),
- jit_operand_gpr(JIT_OPERAND_ABI_WORD, JIT_V1),
- jit_operand_gpr(JIT_OPERAND_ABI_UINT16, JIT_V2),
- jit_operand_fpr(JIT_OPERAND_ABI_FLOAT, JIT_F0),
- jit_operand_fpr(JIT_OPERAND_ABI_DOUBLE, JIT_F1),
- jit_operand_fpr(JIT_OPERAND_ABI_FLOAT, JIT_F2),
- };
- jit_load_args(j, 9, args);
- jit_stxi_c(j, offsetof(struct args, a), JIT_R0, JIT_R1); // a
- jit_stxi_s(j, offsetof(struct args, b), JIT_R0, JIT_R2); // b
- jit_stxi_i(j, offsetof(struct args, c), JIT_R0, JIT_V0); // c
- jit_stxi(j, offsetof(struct args, d), JIT_R0, JIT_V1); // d
- jit_stxi_s(j, offsetof(struct args, e), JIT_R0, JIT_V2); // e
- jit_stxi_f(j, offsetof(struct args, f), JIT_R0, JIT_F0); // f
- jit_stxi_d(j, offsetof(struct args, g), JIT_R0, JIT_F1); // g
- jit_stxi_f(j, offsetof(struct args, h), JIT_R0, JIT_F2); // h
-
- jit_leave_jit_abi(j, 3, 0, align);
- jit_retr(j, JIT_R0);
-
- size_t size = 0;
- void* ret = jit_end(j, &size);
-
- struct args* (*f)(struct args*, int8_t, int16_t, int32_t, jit_word_t,
- uint16_t, float, double, float) = ret;
-
- struct args in = { 0, 1, 2, 3, 4, 5, 6, 7 };
- struct args out;
- ASSERT(f(&out, in.a, in.b, in.c, in.d, in.e, in.f, in.g, in.h) == &out);
- ASSERT(in.a == out.a);
- ASSERT(in.b == out.b);
- ASSERT(in.c == out.c);
- ASSERT(in.d == out.d);
- ASSERT(in.e == out.e);
- ASSERT(in.f == out.f);
- ASSERT(in.g == out.g);
- ASSERT(in.h == out.h);
-}
-
-int
-main (int argc, char *argv[])
-{
- return main_helper(argc, argv, run_test);
-}