]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: intrinsify runtime/internal/atomic.{And,Or}{8,} on RISCV64
authorJoel Sing <joel@sing.id.au>
Sat, 27 Feb 2021 08:07:32 +0000 (19:07 +1100)
committerJoel Sing <joel@sing.id.au>
Wed, 3 Mar 2021 05:35:24 +0000 (05:35 +0000)
commit497feff168b44bdcb645ab0c2a956b0033d6100d
tree22dff3dc5310eeeef69361f47064f061eeeb6778
parent00cb841b83ad157bc21d36daf0626bbcd4af0d57
cmd/compile: intrinsify runtime/internal/atomic.{And,Or}{8,} on RISCV64

The 32 bit versions are easily implement with a single instruction, while the
8 bit versions require a bit more effort but use the same atomic instructions
via rewrite rules.

Change-Id: I42e8d457b239c8f75e39a8e282fc88c1bb292a99
Reviewed-on: https://go-review.googlesource.com/c/go/+/268098
Trust: Joel Sing <joel@sing.id.au>
Run-TryBot: Joel Sing <joel@sing.id.au>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
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