1. 02 Jun, 2016 1 commit
    • Cherry Zhang's avatar
      [dev.ssa] cmd/compile: decompose 64-bit integer on ARM · 8756d925
      Cherry Zhang authored
      Introduce dec64 rules to (generically) decompose 64-bit integer on
      32-bit architectures. 64-bit integer is composed/decomposed with
      Int64Make/Hi/Lo ops, as for complex types.
      
      The idea of dealing with Add64 is the following:
      
      (Add64 (Int64Make xh xl) (Int64Make yh yl))
      ->
      (Int64Make
      	(Add32withcarry xh yh (Select0 (Add32carry xl yl)))
      	(Select1 (Add32carry xl yl)))
      
      where Add32carry returns a tuple (flags,uint32). Select0 and Select1
      read the first and the second component of the tuple, respectively.
      The two Add32carry will be CSE'd.
      
      Similarly for multiplication, Mul32uhilo returns a tuple (hi, lo).
      
      Also add support of KeepAlive, to fix build after merge.
      
      Tests addressed_ssa.go, array_ssa.go, break_ssa.go, chan_ssa.go,
      cmp_ssa.go, ctl_ssa.go, map_ssa.go, and string_ssa.go in
      cmd/compile/internal/gc/testdata passed.
      
      Progress on SSA for ARM. Still not complete.
      
      Updates #15365.
      
      Change-Id: I7867c76785a456312de5d8398a6b3f7ca5a4f7ec
      Reviewed-on: https://go-review.googlesource.com/23213Reviewed-by: default avatarKeith Randall <khr@golang.org>
      8756d925
  2. 27 May, 2016 22 commits
  3. 26 May, 2016 17 commits