]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/obj/riscv: simplify addition with constant
authorBen Shi <powerman1st@163.com>
Thu, 2 Sep 2021 00:06:42 +0000 (00:06 +0000)
committerJoel Sing <joel@sing.id.au>
Thu, 2 Sep 2021 14:35:10 +0000 (14:35 +0000)
commit37d4532867b9c49f936cb8e394dec44d8985fe29
treea3e0fe2646bedfb552dd897a2262faf91c5e487f
parent4fb79569d2fb7a0eabc88729f400addb0162f21e
cmd/internal/obj/riscv: simplify addition with constant

This CL simplifies riscv addition (add r, imm) to
(ADDI (ADDI r, imm/2), imm-imm/2) if imm is in specific ranges.
(-4096 <= imm <= -2049 or 2048 <= imm <= 4094)

There is little impact to the go1 benchmark, while the total
size of pkg/linux_riscv64 decreased by about 11KB.

Change-Id: I236eb8af3b83bb35ce9c0b318fc1d235e8ab9a4e
GitHub-Last-Rev: a2f56a07635344a40d6b8a9571f236743122be34
GitHub-Pull-Request: golang/go#48110
Reviewed-on: https://go-review.googlesource.com/c/go/+/346689
Run-TryBot: Ben Shi <powerman1st@163.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Joel Sing <joel@sing.id.au>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Trust: Michael Munday <mike.munday@lowrisc.org>
src/cmd/internal/obj/riscv/obj.go
test/codegen/arithmetic.go