diff options
Diffstat (limited to 'amd64')
-rw-r--r-- | amd64/sysv.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/amd64/sysv.c b/amd64/sysv.c index ea9b2d2..286300a 100644 --- a/amd64/sysv.c +++ b/amd64/sysv.c @@ -590,9 +590,13 @@ selvaarg(Fn *fn, Blk *b, Ins *i) *b0->phi = (Phi){ .cls = Kl, .to = loc, .narg = 2, - .blk = {bstk, breg}, - .arg = {lstk, lreg}, + .blk = vnew(2, sizeof b0->phi->blk[0], Pfn), + .arg = vnew(2, sizeof b0->phi->arg[0], Pfn), }; + b0->phi->blk[0] = bstk; + b0->phi->blk[1] = breg; + b0->phi->arg[0] = lstk; + b0->phi->arg[1] = lreg; r0 = newtmp("abi", Kl, fn); r1 = newtmp("abi", Kw, fn); b->jmp.type = Jjnz; |