]> Cypherpunks repositories - gostls13.git/commit
cmd/compile,cmd/internal/obj/riscv,runtime: use Duff's devices on riscv64
authorMichaƂ Derkacz <michal@Lnet.pl>
Sat, 13 Jun 2020 22:06:24 +0000 (00:06 +0200)
committerJoel Sing <joel@sing.id.au>
Wed, 28 Oct 2020 05:02:44 +0000 (05:02 +0000)
commit150d2448e5a213cd679396371c0a147918dc2125
tree7ae047f123b042c4bab3b1ffe27d33dd5c9c959b
parentc95bd2e6a99ab06efadb265bf42bbaf8d964904f
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>
src/cmd/compile/internal/riscv64/ggen.go
src/cmd/compile/internal/riscv64/ssa.go
src/cmd/compile/internal/ssa/gen/RISCV64.rules
src/cmd/compile/internal/ssa/gen/RISCV64Ops.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteRISCV64.go
src/cmd/internal/obj/riscv/obj.go
src/runtime/duff_riscv64.s [new file with mode: 0644]
src/runtime/mkduff.go