diff options
author | Mike Pall <mike> | 2011-03-10 01:57:24 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-03-10 01:57:24 +0100 |
commit | bfce3c1127fd57fe0c935c92bcf45b4737041edd (patch) | |
tree | 2bd2d9e08c70608de63c7a69df7f00cfab07f6be /src/lj_opt_fold.c | |
parent | 3f26e3a89d54dfb761ca02fc89aaf15326f5f514 (diff) | |
download | luajit-bfce3c1127fd57fe0c935c92bcf45b4737041edd.tar.gz luajit-bfce3c1127fd57fe0c935c92bcf45b4737041edd.tar.bz2 luajit-bfce3c1127fd57fe0c935c92bcf45b4737041edd.zip |
DUALNUM: Handle integer type in JIT compiler.
Diffstat (limited to 'src/lj_opt_fold.c')
-rw-r--r-- | src/lj_opt_fold.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index 471a4b29..e2d5c517 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -558,7 +558,10 @@ LJFOLD(CONV KINT IRCONV_I64_INT) | |||
558 | LJFOLD(CONV KINT IRCONV_U64_INT) | 558 | LJFOLD(CONV KINT IRCONV_U64_INT) |
559 | LJFOLDF(kfold_conv_kint_i64) | 559 | LJFOLDF(kfold_conv_kint_i64) |
560 | { | 560 | { |
561 | return INT64FOLD((uint64_t)(int64_t)fleft->i); | 561 | if ((fins->op2 & IRCONV_SEXT)) |
562 | return INT64FOLD((uint64_t)(int64_t)fleft->i); | ||
563 | else | ||
564 | return INT64FOLD((uint64_t)(int64_t)(uint32_t)fleft->i); | ||
562 | } | 565 | } |
563 | 566 | ||
564 | LJFOLD(CONV KINT64 IRCONV_NUM_I64) | 567 | LJFOLD(CONV KINT64 IRCONV_NUM_I64) |