]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: avoid zero extensions after 32-bit shifts
authorGiovanni Bajo <rasky@develer.com>
Sun, 29 Mar 2020 12:21:12 +0000 (14:21 +0200)
committerGiovanni Bajo <rasky@develer.com>
Mon, 30 Mar 2020 19:58:50 +0000 (19:58 +0000)
commit14ad23d1f599199f89ba32cc4bc20049277ce9c1
tree4ff83fc06e46a0b4ba891f8b6f525819b621a254
parenta265c2c448497fcee1633d2e2b912da52ea22d3c
cmd/compile: avoid zero extensions after 32-bit shifts

zeroUpper32Bits wasn't checking for shift-extension ops. This would not
check shifts that were marking as bounded by prove (normally, shifts
are wrapped in a sequence that ends with an ANDL, and zeroUpper32Bits
would see the ANDL).

This produces no changes on generated output right now, but will be
important once CL196679 lands because many shifts will be marked
as bounded, and lower will stop generating the masking code sequence
around them.

Change-Id: Iaea94acc5b60bb9a5021c9fb7e4a1e2e5244435e
Reviewed-on: https://go-review.googlesource.com/c/go/+/226338
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/ssa/rewrite.go