aboutsummaryrefslogtreecommitdiffhomepage
path: root/amd64/isel.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2025-12-12 11:54:53 +0100
committerlemon <lsof@mailbox.org>2025-12-12 11:54:53 +0100
commit53be85354860d39e15208ad765fbc3d373369a3d (patch)
tree609e0e119875397434dce0a320de917fcbc41397 /amd64/isel.c
parent83e5dcd6b821a6afafe15b06114a49de45310084 (diff)
isel: fix bug where sub turned into add, but inplace didn't reflect
Diffstat (limited to 'amd64/isel.c')
-rw-r--r--amd64/isel.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/amd64/isel.c b/amd64/isel.c
index 77d5b9e..a0c913c 100644
--- a/amd64/isel.c
+++ b/amd64/isel.c
@@ -462,12 +462,12 @@ sel(struct function *fn, struct instr *ins, struct block *blk, int *curi)
ins->inplace = 1;
struct instr sub = *ins;
rswap(sub.l, sub.r);
- ins->op = Oneg;
+ ins->op = op = Oneg;
ins->l = insertinstr(blk, (*curi)++, sub);
ins->r = NOREF;
goto ALU;
} else if (kisint(ins->cls) && isintcon(ins->r)) {
- ins->op = Oadd;
+ ins->op = op = Oadd;
ins->r = mkintcon(concls(ins->r), -intconval(ins->r));
} else {
goto ALU;