From 270de2d6cc72470818a75be698fc2755fcdd79f8 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Mon, 17 Oct 2011 17:21:09 +0200 Subject: [PATCH] Add missing FOLD rule for integer NEG of constants. --- src/lj_opt_fold.c | 2 ++ 1 file changed, 2 insertions(+) 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) case IR_SUB: k1 -= k2; break; case IR_MUL: k1 *= k2; break; case IR_MOD: k1 = lj_vm_modi(k1, k2); break; + case IR_NEG: k1 = -k1; break; case IR_BAND: k1 &= k2; break; case IR_BOR: k1 |= k2; break; case IR_BXOR: k1 ^= k2; break; @@ -251,6 +252,7 @@ LJFOLD(ADD KINT KINT) LJFOLD(SUB KINT KINT) LJFOLD(MUL KINT KINT) LJFOLD(MOD KINT KINT) +LJFOLD(NEG KINT KINT) LJFOLD(BAND KINT KINT) LJFOLD(BOR KINT KINT) LJFOLD(BXOR KINT KINT)