]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/internal/obj/ppc64: generate MOVD mask constants in register
authorPaul E. Murphy <murp@ibm.com>
Tue, 19 Sep 2023 22:01:28 +0000 (17:01 -0500)
committerPaul Murphy <murp@ibm.com>
Thu, 5 Oct 2023 14:03:32 +0000 (14:03 +0000)
commitdcd018b5c54cd23b36ef732473f0d99fbb57f6fc
tree7a2c6672ab117e40969e9d761e6ea3632b4175ef
parent26d07d80ca0093f87f37a02600eb1715ca0431a1
cmd/internal/obj/ppc64: generate MOVD mask constants in register

Add a new form of RLDC which maps directly to the ISA definition
of rldc: RLDC Rs, $sh, $mb, Ra. This is used to generate mask
constants described below.

Using MOVD $-1, Rx; RLDC Rx, $sh, $mb, Rx, any mask constant
can be generated. A mask is a contiguous series of 1 bits, which
may wrap.

Change-Id: Ifcaae1114080ad58b5fdaa3e5fc9019e2051f282
Reviewed-on: https://go-review.googlesource.com/c/go/+/531120
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Run-TryBot: Paul Murphy <murp@ibm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
src/cmd/asm/internal/asm/testdata/ppc64.s
src/cmd/internal/obj/ppc64/asm9.go
src/cmd/internal/obj/ppc64/obj9.go
test/codegen/constants.go