1
0
mirror of https://github.com/golang/go synced 2024-11-25 10:17:57 -07:00

5g: complex "regalloc"

R=ken2
CC=golang-dev
https://golang.org/cl/2727041
This commit is contained in:
Russ Cox 2010-10-26 01:26:33 +02:00
parent 41b5fb4761
commit b0ad7a4268

View File

@ -305,6 +305,11 @@ regalloc(Node *n, Type *t, Node *o)
goto out;
yyerror("out of floating point registers");
goto err;
case TCOMPLEX64:
case TCOMPLEX128:
tempname(n, t);
return;
}
yyerror("regalloc: unknown type %T", t);
@ -334,6 +339,8 @@ regfree(Node *n)
print("regalloc fix %d float %d\n", fixfree, floatfree);
}
if(n->op == ONAME && iscomplex[n->type->etype])
return;
if(n->op != OREGISTER && n->op != OINDREG)
fatal("regfree: not a register");
i = n->val.u.reg;