From cf2459d4cab72e3e0072fdf76ca2f5d8f9593f78 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sun, 14 Jul 2024 16:15:37 +0300 Subject: jit tests pass (kind of) on x86_64 --- src/interp.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/interp.c') diff --git a/src/interp.c b/src/interp.c index 293da46..5618564 100644 --- a/src/interp.c +++ b/src/interp.c @@ -22,6 +22,8 @@ union interp_ret ejit_interp(struct ejit_func *f, size_t argc, [EXTRU8] = &&EXTRU8, [EXTRU16] = &&EXTRU16, [EXTRU32] = &&EXTRU32, + [EXTRF] = &&EXTRF, + [EXTRD] = &&EXTRD, [ADDR] = &&ADDR, [ADDR_F] = &&ADDR_F, @@ -300,6 +302,14 @@ union interp_ret ejit_interp(struct ejit_func *f, size_t argc, gpr[i.r0] = (uint32_t)gpr[i.r1]; DISPATCH(); + DO(EXTRF); + fpr[i.r0].f = (float)gpr[i.r1]; + DISPATCH(); + + DO(EXTRD); + fpr[i.r0].d = (double)gpr[i.r1]; + DISPATCH(); + DO(ADDR); gpr[i.r0] = gpr[i.r1] + gpr[i.r2]; DISPATCH(); -- cgit v1.2.3