R=rsc
https://golang.org/cl/166052
pc->as = ARET; // overwrite AEND
pc->lineno = lineno;
- if(!debug['N'] || debug['R'] || debug['P'])
+ if(!debug['N'] || debug['R'] || debug['P']) {
regopt(ptxt);
+ }
// fill in argument size
ptxt->to.offset = rnd(curfn->type->argwid, maxround);
pc->as = ARET; // overwrite AEND
pc->lineno = lineno;
-if(0)
if(!debug['N'] || debug['R'] || debug['P']) {
regopt(ptxt);
}
}
hard:
- if(nr->ullman > nl->ullman) {
- tempname(&n2, nr->type);
- cgen(nr, &n2);
- igen(nl, &n1, N);
- } else {
- igen(nl, &n1, N);
- tempname(&n2, nr->type);
- cgen(nr, &n2);
- }
+ tempname(&n2, nr->type);
+ cgen(nr, &n2);
+
+ igen(nl, &n1, N);
n3 = *n;
n3.left = &n1;