From 2068a1d88c9610432b7ed8b5181e1515702392eb Mon Sep 17 00:00:00 2001 From: lemon Date: Mon, 15 Sep 2025 17:21:14 +0200 Subject: codegen: fix 3-address sub reg,imm codegen --- amd64/emit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/amd64/emit.c b/amd64/emit.c index b1c4002..238aea6 100644 --- a/amd64/emit.c +++ b/amd64/emit.c @@ -899,7 +899,7 @@ emitinstr(uchar **pcode, struct function *fn, struct block *blk, int curi, struc Xsub(pcode, cls, dst, mkimmdatregoper(ins->r)); } else { assert(isintcon(ins->r)); - Xlea(pcode, cls, dst, + Xlea(pcode, cls, reg2oper(ins->reg-1), mkoper(OMEM, .base = mkregoper(ins->l).reg, .index = NOINDEX, .disp = -intconval(ins->r))); } break; -- cgit v1.2.3