]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile: improve IsNonNil rule on riscv64
authorJoel Sing <joel@sing.id.au>
Fri, 5 Mar 2021 17:46:07 +0000 (04:46 +1100)
committerJoel Sing <joel@sing.id.au>
Mon, 8 Mar 2021 03:23:21 +0000 (03:23 +0000)
commit125eca0f7210da1bbf1a4a1460a87d1c33366b99
tree8b399ec2752041280209c129444b87d7306bdcd8
parent597b5d192e39d7bba38dd461b96effe6e524984b
cmd/compile: improve IsNonNil rule on riscv64

IsNonNil is readily implemented using SNEZ on riscv64, removing over 8,000
instructions from the go binary. Other rules will improve on this sequence,
however in this case it makes sense to use a direct simplification.

Change-Id: Ib4068599532398afcd05f51d160673ef5fb5e5a0
Reviewed-on: https://go-review.googlesource.com/c/go/+/299230
Trust: Joel Sing <joel@sing.id.au>
Reviewed-by: Michael Munday <mike.munday@lowrisc.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
src/cmd/compile/internal/ssa/gen/RISCV64.rules
src/cmd/compile/internal/ssa/rewriteRISCV64.go