aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2011-10-17 17:21:09 +0200
committerMike Pall <mike>2011-10-17 17:21:09 +0200
commit270de2d6cc72470818a75be698fc2755fcdd79f8 (patch)
treeaca7fc1f33ad309e44062cd8c364894b7a587561
parentc5164b1a7d3948db025517fa4206f4486a0e4cfe (diff)
downloadluajit-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.c2
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)
251LJFOLD(SUB KINT KINT) 252LJFOLD(SUB KINT KINT)
252LJFOLD(MUL KINT KINT) 253LJFOLD(MUL KINT KINT)
253LJFOLD(MOD KINT KINT) 254LJFOLD(MOD KINT KINT)
255LJFOLD(NEG KINT KINT)
254LJFOLD(BAND KINT KINT) 256LJFOLD(BAND KINT KINT)
255LJFOLD(BOR KINT KINT) 257LJFOLD(BOR KINT KINT)
256LJFOLD(BXOR KINT KINT) 258LJFOLD(BXOR KINT KINT)