Home | History | Annotate | Download | only in fixedbugs
      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 
      9 package main
     10 
     11 import "fmt"
     12 
     13 func 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