// run
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Test case for issue 789. The bug only appeared for GOARCH=386.
package main
func main() {
i := 0
x := 0
a := (x & 1) << uint(1-i)
s := uint(1-i)
b := (x & 1) << s
if a != b {
panic(0)
}
}