]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.9] cmd/compile: fix large load/store offsets on 386
authorKeith Randall <khr@google.com>
Thu, 7 Dec 2017 22:11:19 +0000 (14:11 -0800)
committerAndrew Bonventre <andybons@golang.org>
Mon, 22 Jan 2018 20:25:06 +0000 (20:25 +0000)
commita94581d0215a140419c12df97bb582035b43a90d
treeba3dbbce109dabe74e302d997fc93ace1e9b912a
parentf548fb287bdd415d6278d9bb9cc726e754c93c8a
[release-branch.go1.9] cmd/compile: fix large load/store offsets on 386

Pointer arithemetic is done mod 2^32 on 386, so we can just
drop the high bits of any large constant offsets.

The bounds check will make sure wraparounds are never observed.

Fixes #21655

Change-Id: I68ae5bbea9f02c73968ea2b21ca017e5ecb89223
Reviewed-on: https://go-review.googlesource.com/82675
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-on: https://go-review.googlesource.com/88324
Run-TryBot: Andrew Bonventre <andybons@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/ssa/gen/386.rules
src/cmd/compile/internal/ssa/rewrite386.go
test/fixedbugs/issue21655.go