aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCuong Manh Le <cuong.manhle.vn@gmail.com>2020-10-26 11:28:02 +0700
committerCuong Manh Le <cuong.manhle.vn@gmail.com>2020-10-27 02:33:40 +0000
commitfb7134e4e3a45fee4ab662ef0d467ef864c23e2e (patch)
treee2dd7fc5e16860763e53e4868cb1f5e31bdf208e
parent76bce1dd52b0c2a06d48bf7db4e89e8dec47c507 (diff)
downloadgo-fb7134e4e3a45fee4ab662ef0d467ef864c23e2e.tar.gz
go-fb7134e4e3a45fee4ab662ef0d467ef864c23e2e.zip
test: add index bounds check elided with "&^"
For follow up CL, which will defer lowering OANDNOT until SSA. Change-Id: I5a988d0b8f0ae664580f08b123811b2a31ef55c6 Reviewed-on: https://go-review.googlesource.com/c/go/+/265040 Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-rw-r--r--test/bounds.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/bounds.go b/test/bounds.go
index 34c444877b..4a9c3b2d39 100644
--- a/test/bounds.go
+++ b/test/bounds.go
@@ -201,6 +201,15 @@ func main() {
use(p1k[ui&1000])
use(p100k[ui&1000]) // ERROR "index bounds check elided"
+ use(a1[i&^-1]) // ERROR "index bounds check elided"
+ use(a1[i&^0])
+ use(a1[i&^-2])
+ use(a1[i&^1])
+ use(a1k[i&^-1]) // ERROR "index bounds check elided"
+ use(a1k[i&^0])
+ use(a1k[i&^-2]) // ERROR "index bounds check elided"
+ use(a1k[i&^1])
+
// Right shift cuts the effective number of bits in the index,
// but only for unsigned (signed stays negative).
use(s[i32>>22])