aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/duff_arm.s
diff options
context:
space:
mode:
authorJosh Bleecher Snyder <josharian@gmail.com>2015-03-31 09:19:10 -0700
committerJosh Bleecher Snyder <josharian@gmail.com>2015-04-02 02:37:59 +0000
commitad3600945aaf168ba12ae82c9f66c3c60836ba87 (patch)
tree0389d64b3897004375c03c169398712414ae405f /src/runtime/duff_arm.s
parent102b80652f7876e9b78b6a3c0c69b530666b52a2 (diff)
downloadgo-ad3600945aaf168ba12ae82c9f66c3c60836ba87.tar.gz
go-ad3600945aaf168ba12ae82c9f66c3c60836ba87.zip
runtime: auto-generate duff routines
This makes it easier to experiment with alternative implementations. While we're here, update the comments. No functional changes. Passes toolstash -cmp. Change-Id: I428535754908f0fdd7cc36c214ddb6e1e60f376e Reviewed-on: https://go-review.googlesource.com/8310 Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/runtime/duff_arm.s')
-rw-r--r--src/runtime/duff_arm.s523
1 files changed, 523 insertions, 0 deletions
diff --git a/src/runtime/duff_arm.s b/src/runtime/duff_arm.s
new file mode 100644
index 0000000000..da9f0cb972
--- /dev/null
+++ b/src/runtime/duff_arm.s
@@ -0,0 +1,523 @@
+// AUTO-GENERATED by mkduff.go
+// Run go generate from src/runtime to update.
+// See mkduff.go for comments.
+
+#include "textflag.h"
+
+TEXT runtime·duffzero(SB), NOSPLIT, $0-0
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ MOVW.P R0, 4(R1)
+ RET
+
+TEXT runtime·duffcopy(SB), NOSPLIT, $0-0
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ MOVW.P 4(R1), R0
+ MOVW.P R0, 4(R2)
+
+ RET