]> Cypherpunks repositories - gostls13.git/commit
cmd/compile/internal/ssa: reintroduce ANDconst opcode on PPC64
authorPaul E. Murphy <murp@ibm.com>
Thu, 2 May 2024 20:08:30 +0000 (15:08 -0500)
committerPaul Murphy <murp@ibm.com>
Wed, 22 May 2024 19:59:38 +0000 (19:59 +0000)
commitdca577d882f989e41a753537e9607f0c22e4a798
tree6d79e7fc2454f156cc8a96004415f1777f57a59a
parent6861b2eff58955c7f67a262864c09056a7bdec04
cmd/compile/internal/ssa: reintroduce ANDconst opcode on PPC64

This allows more effective conversion of rotate and mask opcodes
into their CC equivalents, while simplifying the first lowering
pass.

This was removed before the latelower pass was introduced to fold
more cases of compare against zero. Add ANDconst to push the
conversion of ANDconst to ANDCCconst into latelower with the other
CC opcodes.

This also requires introducing RLDICLCC to prevent regressions
when ANDconst is converted to RLDICL then to RLDICLCC and back
to ANDCCconst when possible.

Change-Id: I9e5f9c99fbefa334db18c6c152c5f967f3ff2590
Reviewed-on: https://go-review.googlesource.com/c/go/+/586160
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
src/cmd/compile/internal/ppc64/ssa.go
src/cmd/compile/internal/ssa/_gen/PPC64.rules
src/cmd/compile/internal/ssa/_gen/PPC64Ops.go
src/cmd/compile/internal/ssa/_gen/PPC64latelower.rules
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewrite.go
src/cmd/compile/internal/ssa/rewritePPC64.go
src/cmd/compile/internal/ssa/rewritePPC64latelower.go