mirror of https://github.com/golang/go.git
cmd/compile: enable reg args and add duffcopy support on ppc64x
This adds support for duffcopy on ppc64x and updates the ssa/config.go file to enable register args and recognize the duffDevice is available on ppc64x. Change-Id: Ifc472cc9cc19c9a80e468fb52078c75f7dd44d36 Reviewed-on: https://go-review.googlesource.com/c/go/+/351490 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Go Bot <gobot@golang.org> Trust: Lynn Boger <laboger@linux.vnet.ibm.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
parent
abbfec2829
commit
24c2ee7b65
|
|
@ -239,11 +239,10 @@ func NewConfig(arch string, types Types, ctxt *obj.Link, optimize, softfloat boo
|
|||
c.registers = registersPPC64[:]
|
||||
c.gpRegMask = gpRegMaskPPC64
|
||||
c.fpRegMask = fpRegMaskPPC64
|
||||
//c.intParamRegs = paramIntRegPPC64
|
||||
//c.floatParamRegs = paramFloatRegPPC64
|
||||
c.intParamRegs = paramIntRegPPC64
|
||||
c.floatParamRegs = paramFloatRegPPC64
|
||||
c.FPReg = framepointerRegPPC64
|
||||
c.LinkReg = linkRegPPC64
|
||||
c.noDuffDevice = true // TODO: Resolve PPC64 DuffDevice (has zero, but not copy)
|
||||
c.hasGReg = true
|
||||
case "mips64":
|
||||
c.BigEndian = true
|
||||
|
|
|
|||
|
|
@ -242,8 +242,8 @@ const (
|
|||
REGSB = REG_R2
|
||||
REGRET = REG_R3
|
||||
REGARG = -1 /* -1 disables passing the first argument in register */
|
||||
REGRT1 = REG_R3 /* reserved for runtime, duffzero and duffcopy */
|
||||
REGRT2 = REG_R4 /* reserved for runtime, duffcopy */
|
||||
REGRT1 = REG_R20 /* reserved for runtime, duffzero and duffcopy */
|
||||
REGRT2 = REG_R21 /* reserved for runtime, duffcopy */
|
||||
REGMIN = REG_R7 /* register variables allocated from here to REGMAX */
|
||||
REGCTXT = REG_R11 /* context for closures */
|
||||
REGTLS = REG_R13 /* C ABI TLS base pointer */
|
||||
|
|
|
|||
|
|
@ -7,136 +7,392 @@
|
|||
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT runtime·duffzero(SB), NOSPLIT|NOFRAME, $0-0
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
MOVDU R0, 8(R3)
|
||||
TEXT runtime·duffzero<ABIInternal>(SB), NOSPLIT|NOFRAME, $0-0
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
MOVDU R0, 8(R20)
|
||||
RET
|
||||
|
||||
TEXT runtime·duffcopy(SB), NOSPLIT|NOFRAME, $0-0
|
||||
UNDEF
|
||||
TEXT runtime·duffcopy<ABIInternal>(SB), NOSPLIT|NOFRAME, $0-0
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
MOVDU 8(R20), R5
|
||||
MOVDU R5, 8(R21)
|
||||
RET
|
||||
|
|
|
|||
|
|
@ -188,17 +188,21 @@ func zeroPPC64x(w io.Writer) {
|
|||
// R0: always zero
|
||||
// R3 (aka REGRT1): ptr to memory to be zeroed - 8
|
||||
// On return, R3 points to the last zeroed dword.
|
||||
fmt.Fprintln(w, "TEXT runtime·duffzero(SB), NOSPLIT|NOFRAME, $0-0")
|
||||
fmt.Fprintln(w, "TEXT runtime·duffzero<ABIInternal>(SB), NOSPLIT|NOFRAME, $0-0")
|
||||
for i := 0; i < 128; i++ {
|
||||
fmt.Fprintln(w, "\tMOVDU\tR0, 8(R3)")
|
||||
fmt.Fprintln(w, "\tMOVDU\tR0, 8(R20)")
|
||||
}
|
||||
fmt.Fprintln(w, "\tRET")
|
||||
}
|
||||
|
||||
func copyPPC64x(w io.Writer) {
|
||||
// duffcopy is not used on PPC64.
|
||||
fmt.Fprintln(w, "TEXT runtime·duffcopy(SB), NOSPLIT|NOFRAME, $0-0")
|
||||
fmt.Fprintln(w, "\tUNDEF")
|
||||
fmt.Fprintln(w, "TEXT runtime·duffcopy<ABIInternal>(SB), NOSPLIT|NOFRAME, $0-0")
|
||||
for i := 0; i < 128; i++ {
|
||||
fmt.Fprintln(w, "\tMOVDU\t8(R20), R5")
|
||||
fmt.Fprintln(w, "\tMOVDU\tR5, 8(R21)")
|
||||
}
|
||||
fmt.Fprintln(w, "\tRET")
|
||||
}
|
||||
|
||||
func tagsMIPS64x(w io.Writer) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue