]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.18] cmd/compile: fix conditional move rule on PPC64
authorKeith Randall <khr@golang.org>
Sat, 10 Dec 2022 03:49:53 +0000 (19:49 -0800)
committerDavid Chase <drchase@google.com>
Mon, 19 Dec 2022 21:46:51 +0000 (21:46 +0000)
commit6aa1e6d52d6e2791f356ccf2b1177510ba4dade1
tree8655371d35ed853309e32d035ba9a270728ca72c
parent337138c10c7aff6b4bdcb5472128a3ba11d57620
[release-branch.go1.18] cmd/compile: fix conditional move rule on PPC64

Similar to CL 456556 but for ppc64 instead of arm64.

Change docs about how booleans are stored in registers for ppc64.
We now don't promise to keep the upper bits zeroed; they might be junk.

To test, I changed the boolean generation instructions (MOVBZload* and ISEL*
with boolean type) to OR in 0x100 to the result. all.bash still passed,
so I think nothing else is depending on the upper bits of booleans.

Update #57211

Change-Id: Ie66f8934a0dafa34d0a8c2a37324868d959a852c
Reviewed-on: https://go-review.googlesource.com/c/go/+/456437
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Keith Randall <khr@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: KAMPANAT THUMWONG (KONG PC) <1992kongpc.kth@gmail.com>
Run-TryBot: Archana Ravindar <aravind5@in.ibm.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/456735
Reviewed-by: Than McIntosh <thanm@google.com>
src/cmd/compile/internal/ssa/gen/PPC64.rules
src/cmd/compile/internal/ssa/gen/PPC64Ops.go
src/cmd/compile/internal/ssa/rewritePPC64.go