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 /src | |
parent | c5164b1a7d3948db025517fa4206f4486a0e4cfe (diff) | |
download | luajit-270de2d6cc72470818a75be698fc2755fcdd79f8.tar.gz luajit-270de2d6cc72470818a75be698fc2755fcdd79f8.tar.bz2 luajit-270de2d6cc72470818a75be698fc2755fcdd79f8.zip |
Add missing FOLD rule for integer NEG of constants.
Diffstat (limited to 'src')
-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) |