]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: fix conditional move rule on PPC64
authorKeith Randall <khr@golang.org>
Sat, 10 Dec 2022 03:49:53 +0000 (19:49 -0800)
committerKeith Randall <khr@google.com>
Sun, 11 Dec 2022 16:34:38 +0000 (16:34 +0000)
commit888047c31007c0ad96764254fa8afb1417ddfd40
tree29fa79d980d66b18256b0e3d42838d49ce249195
parent9b8750f53ed89fb326e4d811524e647683136bac
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 #57184

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>
src/cmd/compile/internal/ssa/_gen/PPC64.rules
src/cmd/compile/internal/ssa/_gen/PPC64Ops.go
src/cmd/compile/internal/ssa/rewritePPC64.go