From cdf54f3159b90a0c87d53ddba931c3a48d13337b Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 20 Jul 2021 11:07:37 +0900 Subject: codegen.c: allow `OP_EXT` before `OP_ADDI` and `OP_SUBI`. This is preparation for integer constant folding. --- mrbgems/mruby-compiler/core/codegen.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index a673bd274..44beef6a5 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -584,14 +584,14 @@ gen_addsub(codegen_scope *s, uint8_t op, uint16_t dst) data.b = data.insn - OP_LOADI_0; /* fall through */ case OP_LOADI: + case OP_LOADI16: replace: - if (data.b >= 128) goto normal; s->pc = s->lastpc; if (op == OP_ADD) { - genop_2(s, OP_ADDI, dst, (uint8_t)data.b); + genop_2(s, OP_ADDI, dst, data.b); } else { - genop_2(s, OP_SUBI, dst, (uint8_t)data.b); + genop_2(s, OP_SUBI, dst, data.b); } break; default: -- cgit v1.2.3