1
0
mirror of https://github.com/golang/go synced 2024-11-23 20:40:07 -07:00

cmd/9g: note suboptimal copy code

9g generates needlessly complex code for small copies.  There are a
few other things that need to be improved about the copy code, so for
now just note the problem.

Change-Id: I0f1de4b2f9197a2635e27cc4b91ecf7a6c11f457
Reviewed-on: https://go-review.googlesource.com/3665
Reviewed-by: Russ Cox <rsc@golang.org>
This commit is contained in:
Austin Clements 2015-01-30 11:18:24 -05:00
parent fa851b17a2
commit 36f879780a

View File

@ -1506,6 +1506,11 @@ sgen(Node *n, Node *ns, int64 w)
patch(gbranch(ABNE, T, 0), ploop);
regfree(&nend);
} else {
// TODO(austin): Instead of generating ADD $-8,R8; ADD
// $-8,R7; n*(MOVDU 8(R8),R9; MOVDU R9,8(R7);) just
// generate the offsets directly and eliminate the
// ADDs. That will produce shorter, more
// pipeline-able code.
while(c-- > 0) {
p = gins(op, &src, &tmp);
p->from.type = TYPE_MEM;