From 7411720364f42f7181091f9f69386418813f4507 Mon Sep 17 00:00:00 2001 From: liuyan Date: Sun, 17 Apr 2022 00:29:14 +0800 Subject: [PATCH] fix IRCOV_TRUNC issue relate commit: db1b399af134e715b8ba9a0e4ad9cbafbe06ecb1 --- src/lj_opt_narrow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lj_opt_narrow.c b/src/lj_opt_narrow.c index 34fe6c39..70686681 100644 --- a/src/lj_opt_narrow.c +++ b/src/lj_opt_narrow.c @@ -501,7 +501,8 @@ TRef LJ_FASTCALL lj_opt_narrow_cindex(jit_State *J, TRef tr) { lua_assert(tref_isnumber(tr)); if (tref_isnum(tr)) - return emitir(IRT(IR_CONV, IRT_INTP), tr, (IRT_INTP<<5)|IRT_NUM|IRCONV_ANY); + return emitir(IRT(IR_CONV, IRT_INTP), tr, + (IRT_INTP<<5)|IRT_NUM|IRCONV_TRUNC|IRCONV_ANY); /* Undefined overflow semantics allow stripping of ADDOV, SUBOV and MULOV. */ return narrow_stripov(J, tr, IR_MULOV, LJ_64 ? ((IRT_INTP<<5)|IRT_INT|IRCONV_SEXT) :