mirror of
https://github.com/golang/go
synced 2024-11-17 10:14:46 -07:00
runtime: port memmove, memclr to register ABI on ppc64x
This allows memmove and memclr to be invoked using the new register ABI on ppc64x. Change-Id: Ie397a942d7ebf76f62896924c3bb5b3a3dbba73e Reviewed-on: https://go-review.googlesource.com/c/go/+/352891 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Trust: Lynn Boger <laboger@linux.vnet.ibm.com>
This commit is contained in:
parent
e7a2573169
commit
daec057602
@ -10,9 +10,11 @@
|
|||||||
// See memclrNoHeapPointers Go doc for important implementation constraints.
|
// See memclrNoHeapPointers Go doc for important implementation constraints.
|
||||||
|
|
||||||
// func memclrNoHeapPointers(ptr unsafe.Pointer, n uintptr)
|
// func memclrNoHeapPointers(ptr unsafe.Pointer, n uintptr)
|
||||||
TEXT runtime·memclrNoHeapPointers(SB), NOSPLIT|NOFRAME, $0-16
|
TEXT runtime·memclrNoHeapPointers<ABIInternal>(SB), NOSPLIT|NOFRAME, $0-16
|
||||||
|
#ifndef GOEXPERIMENT_regabiargs
|
||||||
MOVD ptr+0(FP), R3
|
MOVD ptr+0(FP), R3
|
||||||
MOVD n+8(FP), R4
|
MOVD n+8(FP), R4
|
||||||
|
#endif
|
||||||
|
|
||||||
// Determine if there are doublewords to clear
|
// Determine if there are doublewords to clear
|
||||||
check:
|
check:
|
||||||
|
@ -28,10 +28,12 @@
|
|||||||
// number of 32 byte chunks
|
// number of 32 byte chunks
|
||||||
#define QWORDS R10
|
#define QWORDS R10
|
||||||
|
|
||||||
TEXT runtime·memmove(SB), NOSPLIT|NOFRAME, $0-24
|
TEXT runtime·memmove<ABIInternal>(SB), NOSPLIT|NOFRAME, $0-24
|
||||||
|
#ifndef GOEXPERIMENT_regabiargs
|
||||||
MOVD to+0(FP), TGT
|
MOVD to+0(FP), TGT
|
||||||
MOVD from+8(FP), SRC
|
MOVD from+8(FP), SRC
|
||||||
MOVD n+16(FP), LEN
|
MOVD n+16(FP), LEN
|
||||||
|
#endif
|
||||||
|
|
||||||
// Determine if there are doublewords to
|
// Determine if there are doublewords to
|
||||||
// copy so a more efficient move can be done
|
// copy so a more efficient move can be done
|
||||||
|
Loading…
Reference in New Issue
Block a user