1// compile
2
3// Copyright 2013 The Go Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
7// Used to leak registers on 8g.
8
9package p
10
11func f(x byte, y uint64) {
12	var r byte
13	switch y {
14	case 1:
15		r = x << y // '>>' triggers it too
16	case 2:
17		r = x << y
18	case 3:
19		r = x << y
20	case 4:
21		r = x << y
22	case 5:
23		r = x << y
24	case 6:
25		r = x << y
26	case 7:
27		r = x << y
28	case 8:
29		r = x << y
30	case 9:
31		r = x << y
32	case 10:
33		r = x << y
34	}
35	_ = r
36}
37