]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.19] 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:45:00 +0000 (21:45 +0000)
commitda744b195587474281adc8f5678e61370de19fca
tree6d02f365dd54414d32eaa8566499b64f896ea064
parent7683c71ae1cfe016cc283d630460395a61174ad1
[release-branch.go1.19] 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 #57212

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/+/456736
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