aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--x86_64/isel.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/x86_64/isel.c b/x86_64/isel.c
index 22a1290..19692ed 100644
--- a/x86_64/isel.c
+++ b/x86_64/isel.c
@@ -429,7 +429,7 @@ sel(struct function *fn, struct instr *ins, struct block *blk, int *curi)
rswap(ins->l, ins->r);
}
if (ins->l.t != RTMP && ins->l.t != RREG)
- ins->l = insertinstr(blk, (*curi)++, mkinstr(Ocopy, ins->cls, ins->l));
+ ins->l = insertinstr(blk, (*curi)++, mkinstr(Ocopy, insrescls(*ins), ins->l));
else
fixarg(&ins->l, ins, blk, curi);
fixarg(&ins->r, ins, blk, curi);
@@ -589,7 +589,7 @@ seljmp(struct function *fn, struct block *blk)
if (!(opflags[instrtab[c.i].op] & ZF) || blk->ins.n == 0 || c.i != blk->ins.p[blk->ins.n - 1]) {
struct instr *ins;
int curi = blk->ins.n;
- blk->jmp.arg[0] = insertinstr(blk, blk->ins.n, mkinstr(Oneq, instrtab[c.i].cls, c, ZEROREF));
+ blk->jmp.arg[0] = insertinstr(blk, blk->ins.n, mkinstr(Oneq, insrescls(instrtab[c.i]), c, ZEROREF));
ins = &instrtab[blk->jmp.arg[0].i];
if (kisflt(ins->cls)) {
ins->r = insertinstr(blk, curi, mkinstr(Ocopy, ins->cls, ZEROREF));