Explorar o código

fix float rounding mode not correctly restored in f32-to-int convert

Nicolas Cannasse %!s(int64=4) %!d(string=hai) anos
pai
achega
a46d1483cd
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      src/jit.c

+ 1 - 1
src/jit.c

@@ -3049,7 +3049,7 @@ int hl_jit_function( jit_ctx *ctx, hl_module *m, hl_function *f ) {
 				op32(ctx, STMXCSR, pmem(&p, Esp, -4), UNUSED);
 				op32(ctx, MOV, tmp, &p);
 				op32(ctx, OR, tmp, pconst(&p, 0x6000)); // set round towards 0
-				op32(ctx, MOV, pmem(&p, Esp, -4), tmp);
+				op32(ctx, MOV, pmem(&p, Esp, -8), tmp);
 				op32(ctx, LDMXCSR, &p, UNUSED);
 				op32(ctx, CVTSS2SI, w, r);
 				op32(ctx, LDMXCSR, pmem(&p, Esp, -4), UNUSED);