Commit 36f87978 authored by Austin Clements's avatar Austin Clements

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/3665Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
parent fa851b17
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment