blob: ca060b55de6a2c94deeab349b2323d091fc3e253 [file] [log] [blame]
Daniel Morsing3c3ce8e2013-07-05 16:11:22 +02001// 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}