diff --git a/src/jit.c b/src/jit.c index 7a6077116..d8c16a60a 100644 --- a/src/jit.c +++ b/src/jit.c @@ -3248,7 +3248,7 @@ int hl_jit_function( jit_ctx *ctx, hl_module *m, hl_function *f ) { case HF64: case HF32: # ifdef HL_64 - op64(ctx,dst->t->kind == HF32 ? MOVSS : MOVSD,alloc_fpu(ctx,dst,false),pcodeaddr(&p,o->p2 * 8)); + op64(ctx,dst->t->kind == HF32 ? MOVSS : MOVSD,alloc_fpu(ctx,dst,false),pcodeaddr(&p,o->p2 * 8 + (dst->t->kind == HF32 ? 4 : 0))); # else op64(ctx,dst->t->kind == HF32 ? MOVSS : MOVSD,alloc_fpu(ctx,dst,false),paddr(&p,m->code->floats + o->p2)); # endif