diff options
| author | 2025-09-15 17:21:14 +0200 | |
|---|---|---|
| committer | 2025-09-15 17:21:14 +0200 | |
| commit | 2068a1d88c9610432b7ed8b5181e1515702392eb (patch) | |
| tree | b13ea4b26e9fe42492a8c9ccdc8efdc197bf12d9 /amd64 | |
| parent | b8ae5b14c7bbe28161ea83f4c10045f8af5b766a (diff) | |
codegen: fix 3-address sub reg,imm codegen
Diffstat (limited to 'amd64')
| -rw-r--r-- | amd64/emit.c | 2 |
1 files changed, 1 insertions, 1 deletions
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; |