aboutsummaryrefslogtreecommitdiff
path: root/tests/divr_u64.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2025-03-14 21:08:01 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2025-03-14 21:08:01 +0200
commitf5c729ea59d227a507f83bd94d07f4366b46d72b (patch)
tree70d1f242100cea09acd38a71ff8c821836117cfd /tests/divr_u64.c
parent57f6b41047e95374701ee276248f0f8615168450 (diff)
downloadejit-f5c729ea59d227a507f83bd94d07f4366b46d72b.tar.gz
ejit-f5c729ea59d227a507f83bd94d07f4366b46d72b.zip
start supporting 32bit arches
Diffstat (limited to 'tests/divr_u64.c')
-rw-r--r--tests/divr_u64.c134
1 files changed, 76 insertions, 58 deletions
diff --git a/tests/divr_u64.c b/tests/divr_u64.c
index 8753066..1a71785 100644
--- a/tests/divr_u64.c
+++ b/tests/divr_u64.c
@@ -7,90 +7,108 @@ int main(int argc, char *argv[])
(void)argv;
bool do_jit = argc > 1;
struct ejit_operand operands[2] = {
- EJIT_OPERAND_GPR(0, EJIT_TYPE(long)),
- EJIT_OPERAND_GPR(1, EJIT_TYPE(long))
+ EJIT_OPERAND_GPR(0, EJIT_TYPE(uint64_t)),
+ EJIT_OPERAND_GPR(1, EJIT_TYPE(uint64_t))
};
- struct ejit_func *f = ejit_create_func(EJIT_TYPE(long), 2, operands);
+ struct ejit_func *f = ejit_create_func(EJIT_TYPE(uint64_t), 2, operands);
ejit_divr_u(f, EJIT_GPR(0), EJIT_GPR(0), EJIT_GPR(1));
ejit_retr(f, EJIT_GPR(0));
- ejit_select_compile_func(f, 2, 0, EJIT_USE64(long), do_jit);
+ ejit_select_compile_func(f, 2, 0, EJIT_USE64(uint64_t), do_jit);
- assert(erf2(f, EJIT_ARG(0x7fffffff, long), EJIT_ARG(1, long)
- ) == 0x7fffffff);
+ assert(erfl2(f,
+ EJIT_ARG(0x7fffffff, uint64_t),
+ EJIT_ARG(1, uint64_t)) == 0x7fffffff);
- assert(erf2(f, EJIT_ARG(0x80000000, long), EJIT_ARG(1, long)
- ) == 0x80000000);
- assert(erf2(f, EJIT_ARG(0x7fffffff, long), EJIT_ARG(2, long)
- ) == 0x3fffffff);
+ assert(erfl2(f,
+ EJIT_ARG(0x80000000, uint64_t),
+ EJIT_ARG(1, uint64_t)) == 0x80000000);
- assert(erf2(f, EJIT_ARG(0x80000000, long), EJIT_ARG(2, long)
- ) == 0x40000000);
+ assert(erfl2(f,
+ EJIT_ARG(0x7fffffff, uint64_t),
+ EJIT_ARG(2, uint64_t)) == 0x3fffffff);
- assert(erf2(f, EJIT_ARG(0x7fffffff, long), EJIT_ARG(0x80000000, long)
- ) == 0);
+ assert(erfl2(f,
+ EJIT_ARG(0x80000000, uint64_t),
+ EJIT_ARG(2, uint64_t)) == 0x40000000);
- assert(erf2(f, EJIT_ARG(0x80000000, long), EJIT_ARG(0x7fffffff, long)
- ) == 1);
+ assert(erfl2(f,
+ EJIT_ARG(0x7fffffff, uint64_t),
+ EJIT_ARG(0x80000000, uint64_t)) == 0);
- assert(erf2(f, EJIT_ARG(0x7fffffff, long), EJIT_ARG(0xffffffff, long)
- ) == 0);
+ assert(erfl2(f,
+ EJIT_ARG(0x80000000, uint64_t),
+ EJIT_ARG(0x7fffffff, uint64_t)) == 1);
- assert(erf2(f, EJIT_ARG(0xffffffff, long), EJIT_ARG(0x7fffffff, long)
- ) == 2);
+ assert(erfl2(f,
+ EJIT_ARG(0x7fffffff, uint64_t),
+ EJIT_ARG(0xffffffff, uint64_t)) == 0);
- assert(erf2(f, EJIT_ARG(0xffffffff, long), EJIT_ARG(0xffffffff, long)
- ) == 1);
+ assert(erfl2(f,
+ EJIT_ARG(0xffffffff, uint64_t),
+ EJIT_ARG(0x7fffffff, uint64_t)) == 2);
- assert(erf2(f, EJIT_ARG(1, long), EJIT_ARG(0x7fffffff, long)) == 0);
- assert(erf2(f, EJIT_ARG(1, long), EJIT_ARG(0x80000000, long)) == 0);
- assert(erf2(f, EJIT_ARG(2, long), EJIT_ARG(0x7fffffff, long)) == 0);
- assert(erf2(f, EJIT_ARG(2, long), EJIT_ARG(0x80000000, long)) == 0);
- assert(erf2(f, EJIT_ARG(0, long), EJIT_ARG(0x7fffffff, long)) == 0);
- assert(erf2(f, EJIT_ARG(0x7fffffffffffffff, long), EJIT_ARG(1, long)
- ) == 0x7fffffffffffffff);
+ assert(erfl2(f,
+ EJIT_ARG(0xffffffff, uint64_t),
+ EJIT_ARG(0xffffffff, uint64_t)) == 1);
- assert(erf2(f, EJIT_ARG(0x8000000000000000, long), EJIT_ARG(1, long)
- ) == (int64_t)0x8000000000000000);
+ assert(erfl2(f, EJIT_ARG(1, uint64_t), EJIT_ARG(0x7fffffff, uint64_t)) == 0);
+ assert(erfl2(f, EJIT_ARG(1, uint64_t), EJIT_ARG(0x80000000, uint64_t)) == 0);
+ assert(erfl2(f, EJIT_ARG(2, uint64_t), EJIT_ARG(0x7fffffff, uint64_t)) == 0);
+ assert(erfl2(f, EJIT_ARG(2, uint64_t), EJIT_ARG(0x80000000, uint64_t)) == 0);
+ assert(erfl2(f, EJIT_ARG(0, uint64_t), EJIT_ARG(0x7fffffff, uint64_t)) == 0);
+ assert(erfl2(f,
+ EJIT_ARG(0x7fffffffffffffff, uint64_t),
+ EJIT_ARG(1, uint64_t)) == 0x7fffffffffffffff);
- assert(erf2(f, EJIT_ARG(0x7fffffffffffffff, long), EJIT_ARG(2, long)
- ) == 0x3fffffffffffffff);
+ assert(erfl2(f,
+ EJIT_ARG(0x8000000000000000, uint64_t),
+ EJIT_ARG(1, uint64_t)) == (int64_t)0x8000000000000000);
- assert(erf2(f, EJIT_ARG(0x8000000000000000, long), EJIT_ARG(2, long)
- ) == 0x4000000000000000);
+ assert(erfl2(f,
+ EJIT_ARG(0x7fffffffffffffff, uint64_t),
+ EJIT_ARG(2, uint64_t)) == 0x3fffffffffffffff);
- assert(erf2(f, EJIT_ARG(1, long), EJIT_ARG(0x7fffffffffffffff, long)
- ) == 0);
+ assert(erfl2(f,
+ EJIT_ARG(0x8000000000000000, uint64_t),
+ EJIT_ARG(2, uint64_t)) == 0x4000000000000000);
- assert(erf2(f, EJIT_ARG(1, long), EJIT_ARG(0x8000000000000000, long)
- ) == 0);
+ assert(erfl2(f,
+ EJIT_ARG(1, uint64_t),
+ EJIT_ARG(0x7fffffffffffffff, uint64_t)) == 0);
- assert(erf2(f, EJIT_ARG(2, long), EJIT_ARG(0x7fffffffffffffff, long)
- ) == 0);
+ assert(erfl2(f,
+ EJIT_ARG(1, uint64_t),
+ EJIT_ARG(0x8000000000000000, uint64_t)) == 0);
- assert(erf2(f, EJIT_ARG(2, long), EJIT_ARG(0x8000000000000000, long)
- ) == 0);
+ assert(erfl2(f,
+ EJIT_ARG(2, uint64_t),
+ EJIT_ARG(0x7fffffffffffffff, uint64_t)) == 0);
- assert(erf2(f,
- EJIT_ARG(0x7fffffffffffffff, long),
- EJIT_ARG(0x8000000000000000, long)) == 0);
+ assert(erfl2(f,
+ EJIT_ARG(2, uint64_t),
+ EJIT_ARG(0x8000000000000000, uint64_t)) == 0);
- assert(erf2(f,
- EJIT_ARG(0x8000000000000000, long),
- EJIT_ARG(0x7fffffffffffffff, long)) == 1);
+ assert(erfl2(f,
+ EJIT_ARG(0x7fffffffffffffff, uint64_t),
+ EJIT_ARG(0x8000000000000000, uint64_t)) == 0);
- assert(erf2(f,
- EJIT_ARG(0x7fffffffffffffff, long),
- EJIT_ARG(0xffffffffffffffff, long)) == 0);
+ assert(erfl2(f,
+ EJIT_ARG(0x8000000000000000, uint64_t),
+ EJIT_ARG(0x7fffffffffffffff, uint64_t)) == 1);
- assert(erf2(f,
- EJIT_ARG(0xffffffffffffffff, long),
- EJIT_ARG(0x7fffffffffffffff, long)) == 2);
+ assert(erfl2(f,
+ EJIT_ARG(0x7fffffffffffffff, uint64_t),
+ EJIT_ARG(0xffffffffffffffff, uint64_t)) == 0);
- assert(erf2(f,
- EJIT_ARG(0xffffffffffffffff, long),
- EJIT_ARG(0xffffffffffffffff, long)) == 1);
+ assert(erfl2(f,
+ EJIT_ARG(0xffffffffffffffff, uint64_t),
+ EJIT_ARG(0x7fffffffffffffff, uint64_t)) == 2);
+
+ assert(erfl2(f,
+ EJIT_ARG(0xffffffffffffffff, uint64_t),
+ EJIT_ARG(0xffffffffffffffff, uint64_t)) == 1);
ejit_destroy_func(f);
}