summaryrefslogtreecommitdiff
path: root/src/runtime/memclr_ppc64x.s
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-12-05 20:34:45 -0500
committerRuss Cox <rsc@golang.org>2014-12-05 20:34:45 -0500
commit9ec47922b8593000b20bd3bac2db330a98229949 (patch)
treeedc89cf42f596da1464550c2e01605bfd826aa67 /src/runtime/memclr_ppc64x.s
parentf83565bc02ff8dbf9bb7d72a863f63c18361665d (diff)
parentffc214da93bb6958b83ded0eff1bd2de21e82431 (diff)
downloadgo-9ec47922b8593000b20bd3bac2db330a98229949.tar.gz
all: merge dev.garbage (d1238958d4ae) into default branch
When we start work on Gerrit, ppc64 and garbage collection work will continue in the master branch, not the dev branches. (We may still use dev branches for other things later, but these are ready to be merged, and doing it now, before moving to Git means we don't have to have dev branches working in the Gerrit workflow on day one.) TBR=rlh CC=golang-codereviews https://codereview.appspot.com/183140043
Diffstat (limited to 'src/runtime/memclr_ppc64x.s')
-rw-r--r--src/runtime/memclr_ppc64x.s20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/runtime/memclr_ppc64x.s b/src/runtime/memclr_ppc64x.s
new file mode 100644
index 000000000..535faa1c0
--- /dev/null
+++ b/src/runtime/memclr_ppc64x.s
@@ -0,0 +1,20 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build ppc64 ppc64le
+
+#include "textflag.h"
+
+// void runtime·memclr(void*, uintptr)
+TEXT runtime·memclr(SB),NOSPLIT,$0-16
+ MOVD ptr+0(FP), R3
+ MOVD n+8(FP), R4
+ CMP R4, $0
+ BEQ done
+ SUB $1, R3
+ MOVD R4, CTR
+ MOVBU R0, 1(R3)
+ BC 25, 0, -1(PC) // bdnz+ $-4
+done:
+ RETURN