diff options
| author | Mike Pall <mike> | 2011-10-17 17:21:09 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2011-10-17 17:21:09 +0200 |
| commit | 270de2d6cc72470818a75be698fc2755fcdd79f8 (patch) | |
| tree | aca7fc1f33ad309e44062cd8c364894b7a587561 | |
| parent | c5164b1a7d3948db025517fa4206f4486a0e4cfe (diff) | |
| download | luajit-270de2d6cc72470818a75be698fc2755fcdd79f8.tar.gz luajit-270de2d6cc72470818a75be698fc2755fcdd79f8.tar.bz2 luajit-270de2d6cc72470818a75be698fc2755fcdd79f8.zip | |
Add missing FOLD rule for integer NEG of constants.
| -rw-r--r-- | src/lj_opt_fold.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index 43685cdb..1aed8cd2 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
| @@ -232,6 +232,7 @@ static int32_t kfold_intop(int32_t k1, int32_t k2, IROp op) | |||
| 232 | case IR_SUB: k1 -= k2; break; | 232 | case IR_SUB: k1 -= k2; break; |
| 233 | case IR_MUL: k1 *= k2; break; | 233 | case IR_MUL: k1 *= k2; break; |
| 234 | case IR_MOD: k1 = lj_vm_modi(k1, k2); break; | 234 | case IR_MOD: k1 = lj_vm_modi(k1, k2); break; |
| 235 | case IR_NEG: k1 = -k1; break; | ||
| 235 | case IR_BAND: k1 &= k2; break; | 236 | case IR_BAND: k1 &= k2; break; |
| 236 | case IR_BOR: k1 |= k2; break; | 237 | case IR_BOR: k1 |= k2; break; |
| 237 | case IR_BXOR: k1 ^= k2; break; | 238 | case IR_BXOR: k1 ^= k2; break; |
| @@ -251,6 +252,7 @@ LJFOLD(ADD KINT KINT) | |||
| 251 | LJFOLD(SUB KINT KINT) | 252 | LJFOLD(SUB KINT KINT) |
| 252 | LJFOLD(MUL KINT KINT) | 253 | LJFOLD(MUL KINT KINT) |
| 253 | LJFOLD(MOD KINT KINT) | 254 | LJFOLD(MOD KINT KINT) |
| 255 | LJFOLD(NEG KINT KINT) | ||
| 254 | LJFOLD(BAND KINT KINT) | 256 | LJFOLD(BAND KINT KINT) |
| 255 | LJFOLD(BOR KINT KINT) | 257 | LJFOLD(BOR KINT KINT) |
| 256 | LJFOLD(BXOR KINT KINT) | 258 | LJFOLD(BXOR KINT KINT) |
