]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: disable "redundant zeroextensions" optimization for Select on AMD64
authorCherry Zhang <cherryyz@google.com>
Tue, 2 Jan 2018 20:20:19 +0000 (15:20 -0500)
committerCherry Zhang <cherryyz@google.com>
Tue, 2 Jan 2018 21:08:35 +0000 (21:08 +0000)
commit7f1c4b3afbc809afff6813eade571e3c3a4c0e15
tree68d68c8dfab56255cce30b2d9185639e8127efa7
parent2ba3fd484bb048be86c2bd804900151a1ec5affd
cmd/compile: disable "redundant zeroextensions" optimization for Select on AMD64

A Select Op could produce a value with upper 32 bits NOT zeroed,
for example, Div32 is lowered to (Select0 (DIVL x y)).

In theory, we could look into the argument of a Select to decide
whether the upper bits are zeroed. As it is late in release cycle,
just disable this optimization for Select for now.

Fixes #23305.

Change-Id: Icf665a2af9ccb0a7ba0ae00c683c9e349638bf85
Reviewed-on: https://go-review.googlesource.com/85736
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Ilya Tocar <ilya.tocar@intel.com>
src/cmd/compile/internal/ssa/rewrite.go
test/fixedbugs/issue23305.go [new file with mode: 0644]