From 53be85354860d39e15208ad765fbc3d373369a3d Mon Sep 17 00:00:00 2001 From: lemon Date: Fri, 12 Dec 2025 11:54:53 +0100 Subject: isel: fix bug where sub turned into add, but inplace didn't reflect --- amd64/isel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'amd64/isel.c') 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; -- cgit v1.2.3