cmd/compile: use correct types in phiopt
We try to preserve type correctness of generic ops.
phiopt modified a bool to be an int without a conversion.
Add a conversion. There are a few random fluctations in the
generated code as a result, but nothing noteworthy or systematic.
no binary size changes
file before after Δ %
math.s 35966 35961 -5 -0.014%
debug/dwarf.s 108141 108147 +6 +0.006%
crypto/dsa.s 6047 6044 -3 -0.050%
image/png.s 42882 42885 +3 +0.007%
go/parser.s 80281 80278 -3 -0.004%
cmd/internal/obj.s 115116 115113 -3 -0.003%
go/types.s 322130 322118 -12 -0.004%
cmd/internal/obj/arm64.s 151679 151685 +6 +0.004%
go/internal/gccgoimporter.s 56487 56493 +6 +0.011%
cmd/test2json.s 1650 1647 -3 -0.182%
cmd/link/internal/loadelf.s 35442 35443 +1 +0.003%
cmd/go/internal/work.s 305039 305035 -4 -0.001%
cmd/link/internal/ld.s 544835 544834 -1 -0.000%
net/http.s 558777 558774 -3 -0.001%
cmd/compile/internal/ssa.s
3926551 3926994 +443 +0.011%
cmd/compile/internal/gc.s
1552320 1552321 +1 +0.000%
total
18862241 18862670 +429 +0.002%
Change-Id: I4289e773be6be534ea3f907d68f614441b8f9b46
Reviewed-on: https://go-review.googlesource.com/c/go/+/221607
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Keith Randall <khr@golang.org>