mirror of
https://github.com/golang/go
synced 2024-11-23 17:50:06 -07:00
runtime: implement duffzero/duffcopy for linux/loong64
Contributors to the loong64 port are: Weining Lu <luweining@loongson.cn> Lei Wang <wanglei@loongson.cn> Lingqin Gong <gonglingqin@loongson.cn> Xiaolin Zhao <zhaoxiaolin@loongson.cn> Meidan Li <limeidan@loongson.cn> Xiaojuan Zhai <zhaixiaojuan@loongson.cn> Qiyuan Pu <puqiyuan@loongson.cn> Guoqi Chen <chenguoqi@loongson.cn> This port has been updated to Go 1.15.6: https://github.com/loongson/go Updates #46229 Change-Id: Ida040e76dc8172f60e6aee1ea2b5bce13ab3581e Reviewed-on: https://go-review.googlesource.com/c/go/+/368077 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Auto-Submit: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
2a5114f49a
commit
96a10b9c84
907
src/runtime/duff_loong64.s
Normal file
907
src/runtime/duff_loong64.s
Normal file
@ -0,0 +1,907 @@
|
||||
// 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(SB), NOSPLIT|NOFRAME, $0-0
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
MOVV R0, 8(R19)
|
||||
ADDV $8, R19
|
||||
RET
|
||||
|
||||
TEXT runtime·duffcopy(SB), NOSPLIT|NOFRAME, $0-0
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
MOVV (R19), R30
|
||||
ADDV $8, R19
|
||||
MOVV R30, (R20)
|
||||
ADDV $8, R20
|
||||
|
||||
RET
|
@ -36,6 +36,7 @@ func main() {
|
||||
gen("386", notags, zero386, copy386)
|
||||
gen("arm", notags, zeroARM, copyARM)
|
||||
gen("arm64", notags, zeroARM64, copyARM64)
|
||||
gen("loong64", notags, zeroLOONG64, copyLOONG64)
|
||||
gen("ppc64x", tagsPPC64x, zeroPPC64x, copyPPC64x)
|
||||
gen("mips64x", tagsMIPS64x, zeroMIPS64x, copyMIPS64x)
|
||||
gen("riscv64", notags, zeroRISCV64, copyRISCV64)
|
||||
@ -176,6 +177,30 @@ func copyARM64(w io.Writer) {
|
||||
fmt.Fprintln(w, "\tRET")
|
||||
}
|
||||
|
||||
func zeroLOONG64(w io.Writer) {
|
||||
// R0: always zero
|
||||
// R19 (aka REGRT1): ptr to memory to be zeroed - 8
|
||||
// On return, R19 points to the last zeroed dword.
|
||||
fmt.Fprintln(w, "TEXT runtime·duffzero(SB), NOSPLIT|NOFRAME, $0-0")
|
||||
for i := 0; i < 128; i++ {
|
||||
fmt.Fprintln(w, "\tMOVV\tR0, 8(R19)")
|
||||
fmt.Fprintln(w, "\tADDV\t$8, R19")
|
||||
}
|
||||
fmt.Fprintln(w, "\tRET")
|
||||
}
|
||||
|
||||
func copyLOONG64(w io.Writer) {
|
||||
fmt.Fprintln(w, "TEXT runtime·duffcopy(SB), NOSPLIT|NOFRAME, $0-0")
|
||||
for i := 0; i < 128; i++ {
|
||||
fmt.Fprintln(w, "\tMOVV\t(R19), R30")
|
||||
fmt.Fprintln(w, "\tADDV\t$8, R19")
|
||||
fmt.Fprintln(w, "\tMOVV\tR30, (R20)")
|
||||
fmt.Fprintln(w, "\tADDV\t$8, R20")
|
||||
fmt.Fprintln(w)
|
||||
}
|
||||
fmt.Fprintln(w, "\tRET")
|
||||
}
|
||||
|
||||
func tagsPPC64x(w io.Writer) {
|
||||
fmt.Fprintln(w)
|
||||
fmt.Fprintln(w, "//go:build ppc64 || ppc64le")
|
||||
|
Loading…
Reference in New Issue
Block a user