aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--amd64/emit.c2
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;