diff options
Diffstat (limited to 'src/lj_crecord.c')
-rw-r--r-- | src/lj_crecord.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_crecord.c b/src/lj_crecord.c index 647c464a..86e95679 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c | |||
@@ -689,8 +689,8 @@ static TRef crec_arith_int64(jit_State *J, TRef *sp, CType **s, MMS mm) | |||
689 | J->postproc = LJ_POST_FIXGUARD; | 689 | J->postproc = LJ_POST_FIXGUARD; |
690 | return TREF_TRUE; | 690 | return TREF_TRUE; |
691 | } else if (mm == MM_pow) { | 691 | } else if (mm == MM_pow) { |
692 | tr = lj_ir_call(J, IRCALL_lj_carith_powi64, sp[0], sp[1], | 692 | tr = lj_ir_call(J, dt == IRT_I64 ? IRCALL_lj_carith_powi64 : |
693 | lj_ir_kint(J, (int)dt-(int)IRT_I64)); | 693 | IRCALL_lj_carith_powu64, sp[0], sp[1]); |
694 | } else { | 694 | } else { |
695 | if (mm == MM_div || mm == MM_mod) | 695 | if (mm == MM_div || mm == MM_mod) |
696 | return 0; /* NYI: integer div, mod. */ | 696 | return 0; /* NYI: integer div, mod. */ |