1// run
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// issue 5809: 6g and 8g attempted to constant propagate indexed LEA
8
9package main
10
11import "fmt"
12
13func main() {
14	const d16 = "0123456789ABCDEF"
15	k := 0x1234
16	var x [4]byte
17
18	x[0] = d16[k>>12&0xf]
19	x[1] = d16[k>>8&0xf]
20	x[2] = d16[k>>4&0xf]
21	x[3] = d16[k&0xf]
22
23	if x != [4]byte{'1','2','3','4'} {
24		fmt.Println(x)
25		panic("x != [4]byte{'1','2','3','4'}")
26	}
27}
28