summaryrefslogtreecommitdiff
path: root/src/lj_opt_fold.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_opt_fold.c')
-rw-r--r--src/lj_opt_fold.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c
index e2d5c517..eb500db9 100644
--- a/src/lj_opt_fold.c
+++ b/src/lj_opt_fold.c
@@ -189,7 +189,7 @@ LJFOLD(POW KNUM KINT)
189LJFOLDF(kfold_numpow) 189LJFOLDF(kfold_numpow)
190{ 190{
191 lua_Number a = knumleft; 191 lua_Number a = knumleft;
192 lua_Number b = cast_num(fright->i); 192 lua_Number b = (lua_Number)fright->i;
193 lua_Number y = lj_vm_foldarith(a, b, IR_POW - IR_ADD); 193 lua_Number y = lj_vm_foldarith(a, b, IR_POW - IR_ADD);
194 return lj_ir_knum(J, y); 194 return lj_ir_knum(J, y);
195} 195}
@@ -545,13 +545,13 @@ LJFOLDF(kfold_tobit)
545LJFOLD(CONV KINT IRCONV_NUM_INT) 545LJFOLD(CONV KINT IRCONV_NUM_INT)
546LJFOLDF(kfold_conv_kint_num) 546LJFOLDF(kfold_conv_kint_num)
547{ 547{
548 return lj_ir_knum(J, cast_num(fleft->i)); 548 return lj_ir_knum(J, (lua_Number)fleft->i);
549} 549}
550 550
551LJFOLD(CONV KINT IRCONV_NUM_U32) 551LJFOLD(CONV KINT IRCONV_NUM_U32)
552LJFOLDF(kfold_conv_kintu32_num) 552LJFOLDF(kfold_conv_kintu32_num)
553{ 553{
554 return lj_ir_knum(J, cast_num((uint32_t)fleft->i)); 554 return lj_ir_knum(J, (lua_Number)(uint32_t)fleft->i);
555} 555}
556 556
557LJFOLD(CONV KINT IRCONV_I64_INT) 557LJFOLD(CONV KINT IRCONV_I64_INT)
@@ -567,13 +567,13 @@ LJFOLDF(kfold_conv_kint_i64)
567LJFOLD(CONV KINT64 IRCONV_NUM_I64) 567LJFOLD(CONV KINT64 IRCONV_NUM_I64)
568LJFOLDF(kfold_conv_kint64_num_i64) 568LJFOLDF(kfold_conv_kint64_num_i64)
569{ 569{
570 return lj_ir_knum(J, cast_num((int64_t)ir_kint64(fleft)->u64)); 570 return lj_ir_knum(J, (lua_Number)(int64_t)ir_kint64(fleft)->u64);
571} 571}
572 572
573LJFOLD(CONV KINT64 IRCONV_NUM_U64) 573LJFOLD(CONV KINT64 IRCONV_NUM_U64)
574LJFOLDF(kfold_conv_kint64_num_u64) 574LJFOLDF(kfold_conv_kint64_num_u64)
575{ 575{
576 return lj_ir_knum(J, cast_num(ir_kint64(fleft)->u64)); 576 return lj_ir_knum(J, (lua_Number)ir_kint64(fleft)->u64);
577} 577}
578 578
579LJFOLD(CONV KINT64 IRCONV_INT_I64) 579LJFOLD(CONV KINT64 IRCONV_INT_I64)
@@ -589,7 +589,7 @@ LJFOLDF(kfold_conv_knum_int_num)
589 lua_Number n = knumleft; 589 lua_Number n = knumleft;
590 if (!(fins->op2 & IRCONV_TRUNC)) { 590 if (!(fins->op2 & IRCONV_TRUNC)) {
591 int32_t k = lj_num2int(n); 591 int32_t k = lj_num2int(n);
592 if (irt_isguard(fins->t) && n != cast_num(k)) { 592 if (irt_isguard(fins->t) && n != (lua_Number)k) {
593 /* We're about to create a guard which always fails, like CONV +1.5. 593 /* We're about to create a guard which always fails, like CONV +1.5.
594 ** Some pathological loops cause this during LICM, e.g.: 594 ** Some pathological loops cause this during LICM, e.g.:
595 ** local x,k,t = 0,1.5,{1,[1.5]=2} 595 ** local x,k,t = 0,1.5,{1,[1.5]=2}