diff options
author | Mike Pall <mike> | 2011-04-05 16:31:48 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2011-04-05 16:31:48 +0200 |
commit | 3acd4892e96fb73a751852a079537adc3fd2d560 (patch) | |
tree | 4d0c3be6ac80ae32f5d56c16e34103d22b609562 /src/lj_opt_fold.c | |
parent | 48438b9e13e8a9ce19dea37a75d29c015968c619 (diff) | |
download | luajit-3acd4892e96fb73a751852a079537adc3fd2d560.tar.gz luajit-3acd4892e96fb73a751852a079537adc3fd2d560.tar.bz2 luajit-3acd4892e96fb73a751852a079537adc3fd2d560.zip |
Add FOLD rule for FLOAT->NUM->FLOAT conversions.
Diffstat (limited to '')
-rw-r--r-- | src/lj_opt_fold.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index edd376c9..44a55709 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -914,6 +914,15 @@ LJFOLDF(simplify_conv_int_i64) | |||
914 | return NEXTFOLD; | 914 | return NEXTFOLD; |
915 | } | 915 | } |
916 | 916 | ||
917 | LJFOLD(CONV CONV IRCONV_NUM_FLOAT) /* _NUM */ | ||
918 | LJFOLDF(simplify_conv_flt_num) | ||
919 | { | ||
920 | PHIBARRIER(fleft); | ||
921 | if ((fleft->op2 & IRCONV_SRCMASK) == IRT_NUM) | ||
922 | return fleft->op1; | ||
923 | return NEXTFOLD; | ||
924 | } | ||
925 | |||
917 | /* Shortcut TOBIT + IRT_NUM <- IRT_INT/IRT_U32 conversion. */ | 926 | /* Shortcut TOBIT + IRT_NUM <- IRT_INT/IRT_U32 conversion. */ |
918 | LJFOLD(TOBIT CONV KNUM) | 927 | LJFOLD(TOBIT CONV KNUM) |
919 | LJFOLDF(simplify_tobit_conv) | 928 | LJFOLDF(simplify_tobit_conv) |