...
Run Format

Source file test/fixedbugs/bug440_64.go

Documentation: test/fixedbugs

  // run
  
  // Test for 6g register move bug.  The optimizer gets confused
  // about 32- vs 64-bit moves during splitContractIndex.
  
  // Issue 3918.
  
  package main
  
  func main() {
  	const c = 0x123400005678
  	index, offset := splitContractIndex(c)
  	if index != (c&0xffffffff)>>5 || offset != c+1 {
  		println("BUG", index, offset)
  	}
  }
  
  func splitContractIndex(ce uint64) (index uint32, offset uint64) {
  	h := uint32(ce)
  	return h >> 5, ce + 1
  }
  

View as plain text