diff options
author | Mike Pall <mike> | 2012-08-20 18:45:50 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-08-20 18:45:50 +0200 |
commit | f2479a96542c639861fb40c721c07f9c53cae20a (patch) | |
tree | 3ce5bea0a68cd046493ef611bad66e64f374e85a | |
parent | af2cb0254217c2959da19cdfa382601b22eb3297 (diff) | |
download | luajit-f2479a96542c639861fb40c721c07f9c53cae20a.tar.gz luajit-f2479a96542c639861fb40c721c07f9c53cae20a.tar.bz2 luajit-f2479a96542c639861fb40c721c07f9c53cae20a.zip |
Minor fixes to FOLD rules.
-rw-r--r-- | src/lj_opt_fold.c | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index ab8085d7..2240f5db 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -430,14 +430,14 @@ LJFOLDF(kfold_bswap64) | |||
430 | #endif | 430 | #endif |
431 | } | 431 | } |
432 | 432 | ||
433 | LJFOLD(LT KINT64 KINT) | 433 | LJFOLD(LT KINT64 KINT64) |
434 | LJFOLD(GE KINT64 KINT) | 434 | LJFOLD(GE KINT64 KINT64) |
435 | LJFOLD(LE KINT64 KINT) | 435 | LJFOLD(LE KINT64 KINT64) |
436 | LJFOLD(GT KINT64 KINT) | 436 | LJFOLD(GT KINT64 KINT64) |
437 | LJFOLD(ULT KINT64 KINT) | 437 | LJFOLD(ULT KINT64 KINT64) |
438 | LJFOLD(UGE KINT64 KINT) | 438 | LJFOLD(UGE KINT64 KINT64) |
439 | LJFOLD(ULE KINT64 KINT) | 439 | LJFOLD(ULE KINT64 KINT64) |
440 | LJFOLD(UGT KINT64 KINT) | 440 | LJFOLD(UGT KINT64 KINT64) |
441 | LJFOLDF(kfold_int64comp) | 441 | LJFOLDF(kfold_int64comp) |
442 | { | 442 | { |
443 | #if LJ_HASFFI | 443 | #if LJ_HASFFI |
@@ -565,6 +565,18 @@ LJFOLDF(kfold_add_kptr) | |||
565 | return lj_ir_kptr_(J, fleft->o, (char *)p + ofs); | 565 | return lj_ir_kptr_(J, fleft->o, (char *)p + ofs); |
566 | } | 566 | } |
567 | 567 | ||
568 | LJFOLD(ADD any KGC) | ||
569 | LJFOLD(ADD any KPTR) | ||
570 | LJFOLD(ADD any KKPTR) | ||
571 | LJFOLDF(kfold_add_kright) | ||
572 | { | ||
573 | if (fleft->o == IR_KINT || fleft->o == IR_KINT64) { | ||
574 | IRRef1 tmp = fins->op1; fins->op1 = fins->op2; fins->op2 = tmp; | ||
575 | return RETRYFOLD; | ||
576 | } | ||
577 | return NEXTFOLD; | ||
578 | } | ||
579 | |||
568 | /* -- Constant folding of conversions ------------------------------------- */ | 580 | /* -- Constant folding of conversions ------------------------------------- */ |
569 | 581 | ||
570 | LJFOLD(TOBIT KNUM KNUM) | 582 | LJFOLD(TOBIT KNUM KNUM) |