diff options
Diffstat (limited to 'src/lj_ffrecord.c')
-rw-r--r-- | src/lj_ffrecord.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lj_ffrecord.c b/src/lj_ffrecord.c index 91d31b29..0de54f04 100644 --- a/src/lj_ffrecord.c +++ b/src/lj_ffrecord.c | |||
@@ -438,7 +438,12 @@ static void LJ_FASTCALL recff_math_unary(jit_State *J, RecordFFData *rd) | |||
438 | static void LJ_FASTCALL recff_math_binary(jit_State *J, RecordFFData *rd) | 438 | static void LJ_FASTCALL recff_math_binary(jit_State *J, RecordFFData *rd) |
439 | { | 439 | { |
440 | TRef tr = lj_ir_tonum(J, J->base[0]); | 440 | TRef tr = lj_ir_tonum(J, J->base[0]); |
441 | J->base[0] = emitir(IRTN(rd->data), tr, lj_ir_tonum(J, J->base[1])); | 441 | #if LJ_TARGET_X86ORX64 |
442 | TRef tr2 = lj_ir_tonum(J, J->base[1]); | ||
443 | #else | ||
444 | TRef tr2 = lj_opt_narrow_toint(J, J->base[1]); | ||
445 | #endif | ||
446 | J->base[0] = emitir(IRTN(rd->data), tr, tr2); | ||
442 | } | 447 | } |
443 | 448 | ||
444 | /* Record math.asin, math.acos, math.atan. */ | 449 | /* Record math.asin, math.acos, math.atan. */ |