• Cherry Zhang's avatar
    [dev.ssa] cmd/compile: fix a few bugs for SSA for ARM · fa54bf16
    Cherry Zhang authored
    - 64x signed right shift was wrong for shift larger than 0x80000000.
    - for Lsh-followed-by-Rsh, the intermediate value should be full int
      width, so when it is spilled MOVW should be used.
    - use RET for RetJmp, so the assembler can take case of restoring LR
      for non-leaf case.
    - reserve R9 in dynlink mode. R9 is used for GOT by the assembler.
    
    Progress on SSA backend for ARM. Still not complete.
    
    Updates #15365.
    
    Change-Id: I3caca256b92ff7cf96469da2feaf4868a592efc5
    Reviewed-on: https://go-review.googlesource.com/23793Reviewed-by: default avatarDavid Chase <drchase@google.com>
    fa54bf16
ssa.go 19.5 KB