mirror of
https://github.com/golang/go
synced 2024-11-06 09:26:18 -07:00
401d7e5a24
In ABIInternal, reserve X15 as constant zero, and use it to zero memory. (Maybe there can be more use of it?) The register is zeroed when transition to ABIInternal from ABI0. Caveat: using X15 generates longer instructions than using X0. Maybe we want to use X0? Change-Id: I12d5ee92a01fc0b59dad4e5ab023ac71bc2a8b7d Reviewed-on: https://go-review.googlesource.com/c/go/+/288093 Trust: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
428 lines
5.6 KiB
ArmAsm
428 lines
5.6 KiB
ArmAsm
// Code generated by mkduff.go; DO NOT EDIT.
|
|
// Run go generate from src/runtime to update.
|
|
// See mkduff.go for comments.
|
|
|
|
#include "textflag.h"
|
|
|
|
TEXT runtime·duffzero<ABIInternal>(SB), NOSPLIT, $0-0
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
MOVUPS X15,(DI)
|
|
MOVUPS X15,16(DI)
|
|
MOVUPS X15,32(DI)
|
|
MOVUPS X15,48(DI)
|
|
LEAQ 64(DI),DI
|
|
|
|
RET
|
|
|
|
TEXT runtime·duffcopy<ABIInternal>(SB), NOSPLIT, $0-0
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
MOVUPS (SI), X0
|
|
ADDQ $16, SI
|
|
MOVUPS X0, (DI)
|
|
ADDQ $16, DI
|
|
|
|
RET
|