]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile/internal/ssa: improve masking codegen on PPC64
authorPaul E. Murphy <murp@ibm.com>
Tue, 27 Jun 2023 22:17:33 +0000 (17:17 -0500)
committerPaul Murphy <murp@ibm.com>
Wed, 6 Sep 2023 16:34:20 +0000 (16:34 +0000)
commit5cdb132228b90732d57215893a9910ded694c585
treee04030ad47b1d7654bd2ad4285a4185ec732836e
parent2186909d8651728cb71a4e02e0fe7b2c3d55e9b4
cmd/compile/internal/ssa: improve masking codegen on PPC64

Generate RLDIC[LR] instead of MOVD mask, Rx; AND Rx, Ry, Rz.
This helps reduce code size, and reduces the latency caused
by the constant load.

Similarly, for smaller-than-register values, truncate constants
which exceed the range of the value's type to avoid needing to
load a constant.

Change-Id: I6019684795eb8962d4fd6d9585d08b17c15e7d64
Reviewed-on: https://go-review.googlesource.com/c/go/+/515576
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Paul Murphy <murp@ibm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
src/cmd/compile/internal/ssa/_gen/PPC64latelower.rules
src/cmd/compile/internal/ssa/rewrite.go
src/cmd/compile/internal/ssa/rewritePPC64latelower.go
test/codegen/bits.go