1
0
mirror of https://github.com/golang/go synced 2024-11-07 12:36:27 -07:00
go/src/runtime/duff_riscv64.s
Michał Derkacz 150d2448e5 cmd/compile,cmd/internal/obj/riscv,runtime: use Duff's devices on riscv64
Implement runtime.duffzero and runtime.duffcopy for riscv64.
Use obj.ADUFFZERO/obj.ADUFFCOPY for medium size, word aligned
zeroing/moving.

Change-Id: I42ec622055630c94cb77e286d8d33dbe7c9f846c
Reviewed-on: https://go-review.googlesource.com/c/go/+/237797
Run-TryBot: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Joel Sing <joel@sing.id.au>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
2020-10-28 05:02:44 +00:00

908 lines
11 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(SB), NOSPLIT|NOFRAME, $0-0
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
MOV ZERO, (X10)
ADD $8, X10
RET
TEXT runtime·duffcopy(SB), NOSPLIT|NOFRAME, $0-0
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
MOV (X10), X31
ADD $8, X10
MOV X31, (X11)
ADD $8, X11
RET