diff options
author | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2020-10-26 11:28:02 +0700 |
---|---|---|
committer | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2020-10-27 02:33:40 +0000 |
commit | fb7134e4e3a45fee4ab662ef0d467ef864c23e2e (patch) | |
tree | e2dd7fc5e16860763e53e4868cb1f5e31bdf208e | |
parent | 76bce1dd52b0c2a06d48bf7db4e89e8dec47c507 (diff) | |
download | go-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.go | 9 |
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]) |