aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/duff_arm64.s
diff options
context:
space:
mode:
authorCherry Zhang <cherryyz@google.com>2016-09-27 08:57:02 -0400
committerCherry Zhang <cherryyz@google.com>2016-09-27 15:07:31 +0000
commit9d4b40f55d2298fcb69e049b031e2e3ce8a1de8c (patch)
treefe9e561d0fd27de03b66be9fc64dac1d8a308572 /src/runtime/duff_arm64.s
parent7de7d20e9f14c3a8fb9a3bcf6a36a299c74e9ddd (diff)
downloadgo-9d4b40f55d2298fcb69e049b031e2e3ce8a1de8c.tar.gz
go-9d4b40f55d2298fcb69e049b031e2e3ce8a1de8c.zip
runtime, cmd/compile: implement and use DUFFCOPY on ARM64
Change-Id: I8984eac30e5df78d4b94f19412135d3cc36969f8 Reviewed-on: https://go-review.googlesource.com/29910 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
Diffstat (limited to 'src/runtime/duff_arm64.s')
-rw-r--r--src/runtime/duff_arm64.s387
1 files changed, 386 insertions, 1 deletions
diff --git a/src/runtime/duff_arm64.s b/src/runtime/duff_arm64.s
index 6d4bb15dd6..5a147faec0 100644
--- a/src/runtime/duff_arm64.s
+++ b/src/runtime/duff_arm64.s
@@ -135,4 +135,389 @@ TEXT runtime·duffzero(SB), NOSPLIT, $-8-0
MOVD.W ZR, 8(R16)
RET
-// TODO: Implement runtime·duffcopy.
+TEXT runtime·duffcopy(SB), NOSPLIT, $0-0
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ MOVD.P 8(R16), R27
+ MOVD.P R27, 8(R17)
+
+ RET