]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/internal/asm/ppc64: avoid generating exser nops
authorPaul E. Murphy <murp@ibm.com>
Thu, 26 Oct 2023 14:23:12 +0000 (09:23 -0500)
committerPaul Murphy <murp@ibm.com>
Mon, 6 Nov 2023 19:16:25 +0000 (19:16 +0000)
commit7e5ed466bb63af4fcf0cae95f168ed1b4d4aa90c
treead931d4206fcf24f18588619ce1f701c7a9c7ddc
parent8d2eb290f83bca7d3b5154c6a7b3ac7546df5e8a
cmd/internal/asm/ppc64: avoid generating exser nops

"OR $0, R31, R31" is the execution serializing nop called "exser"
on ISA 3.1 processors such as Power10.

In general, the "OR $0, Rx, Rx" where Rx != 0 form should be avoided
unless used explicitly for the uarch side-effects.

Change-Id: Id76e3a703c902676ba4a3ffb64dd90dad9a320bf
Reviewed-on: https://go-review.googlesource.com/c/go/+/537855
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Run-TryBot: Paul Murphy <murp@ibm.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
src/cmd/asm/internal/asm/testdata/ppc64.s
src/cmd/internal/obj/ppc64/asm9.go