]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: fix incorrect comparison folding
authorKeith Randall <khr@golang.org>
Thu, 8 Oct 2020 18:18:02 +0000 (11:18 -0700)
committerKeith Randall <khr@golang.org>
Thu, 8 Oct 2020 20:35:54 +0000 (20:35 +0000)
commita4b95cd092aa10b40c6be82a3e0bf1052e27122d
treeb114756c98ac859bbd96cb32db6eaf4d9b4b91d0
parent46ab0c0c0474d38d9b924b2428f20c6da58c85fa
cmd/compile: fix incorrect comparison folding

We lost a sign extension that was necessary. The nonnegative comparison
didn't have the correct extension on it. If the larger constant is
positive, but its shorter sign extension is negative, the rule breaks.

Fixes #41872

Change-Id: I6592ef103f840fbb786bf8cb94fd8804c760c976
Reviewed-on: https://go-review.googlesource.com/c/go/+/260701
Trust: Keith Randall <khr@golang.org>
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alberto Donizetti <alb.donizetti@gmail.com>
src/cmd/compile/internal/ssa/gen/AMD64.rules
src/cmd/compile/internal/ssa/rewriteAMD64.go
test/fixedbugs/issue41872.go [new file with mode: 0644]