mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Add FOLD rules for CONV.int.i8/u8/i16/u16 of KINT.
This commit is contained in:
parent
eabfdfe1aa
commit
0452e97ba0
@ -598,6 +598,20 @@ LJFOLDF(kfold_conv_kintu32_num)
|
||||
return lj_ir_knum(J, (lua_Number)(uint32_t)fleft->i);
|
||||
}
|
||||
|
||||
LJFOLD(CONV KINT IRCONV_INT_I8)
|
||||
LJFOLD(CONV KINT IRCONV_INT_U8)
|
||||
LJFOLD(CONV KINT IRCONV_INT_I16)
|
||||
LJFOLD(CONV KINT IRCONV_INT_U16)
|
||||
LJFOLDF(kfold_conv_kint_ext)
|
||||
{
|
||||
int32_t k = fleft->i;
|
||||
if ((fins->op2 & IRCONV_SRCMASK) == IRT_I8) k = (int8_t)k;
|
||||
else if ((fins->op2 & IRCONV_SRCMASK) == IRT_U8) k = (uint8_t)k;
|
||||
else if ((fins->op2 & IRCONV_SRCMASK) == IRT_I16) k = (int16_t)k;
|
||||
else k = (uint16_t)k;
|
||||
return INTFOLD(k);
|
||||
}
|
||||
|
||||
LJFOLD(CONV KINT IRCONV_I64_INT)
|
||||
LJFOLD(CONV KINT IRCONV_U64_INT)
|
||||
LJFOLD(CONV KINT IRCONV_I64_U32)
|
||||
|
Loading…
Reference in New Issue
Block a user