Browse Source

FFI: Fix SPLIT pass for CONV i64.u64.

Thanks to Vyacheslav Egorov.
Mike Pall 9 years ago
parent
commit
3d4c9f9639
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/lj_opt_split.c

+ 2 - 1
src/lj_opt_split.c

@@ -471,7 +471,8 @@ static void split_ir(jit_State *J)
 	}
 #endif
 	else if (st == IRT_I64 || st == IRT_U64) {  /* 64/64 bit cast. */
-	  /* Drop cast, since assembler doesn't care. */
+	  /* Drop cast, since assembler doesn't care. But fwd both parts. */
+	  hi = hiref;
 	  goto fwdlo;
 	} else if ((ir->op2 & IRCONV_SEXT)) {  /* Sign-extend to 64 bit. */
 	  IRRef k31 = lj_ir_kint(J, 31);