diff options
| author | Joel Sing <joel@sing.id.au> | 2022-08-29 20:36:51 +1000 |
|---|---|---|
| committer | Joel Sing <joel@sing.id.au> | 2022-09-07 05:37:53 +0000 |
| commit | c011270fa56303c0f16a8cfa9b37f37f470a45bb (patch) | |
| tree | 04367c3cfe971affe239c51c791023e6a926773c /src/os/exec | |
| parent | ba1ef54c1ee0e5ed8fd572dbb4ec67548cd5a55e (diff) | |
| download | go-c011270fa56303c0f16a8cfa9b37f37f470a45bb.tar.xz | |
cmd/compile: improve Slicemask on riscv64
Implement Slicemask the same way every other architecture does - negate
then arithmetic right shift. This sets or clears the sign bit, before
extending it to the entire register.
Removes around 2,500 instructions from the Go binary on linux/riscv64.
Change-Id: I4d675b826e7eb23fe2b1e6e46b95dcd49ab49733
Reviewed-on: https://go-review.googlesource.com/c/go/+/426354
Reviewed-by: Meng Zhuo <mzh@golangcn.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Wayne Zuo <wdvxdr@golangcn.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'src/os/exec')
0 files changed, 0 insertions, 0 deletions
