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 /src | |
| parent | af2cb0254217c2959da19cdfa382601b22eb3297 (diff) | |
| download | luajit-f2479a96542c639861fb40c721c07f9c53cae20a.tar.gz luajit-f2479a96542c639861fb40c721c07f9c53cae20a.tar.bz2 luajit-f2479a96542c639861fb40c721c07f9c53cae20a.zip | |
Minor fixes to FOLD rules.
Diffstat (limited to 'src')
| -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) |
