• Ben Shi's avatar
    cmd/internal/obj/arm: support more ARMv6 instructions · 0ed1c380
    Ben Shi authored
    The following instructions were introduced in ARMv6, and the compiler
    can do more optimization with them.
    
    1. "MOVBS Rm@>i, Rd": rotates Rm 0/8/16/24 bits, does signed
    byte extension to word, and writes the result to Rd.
    
    2. "MOVHS Rm@>i, Rd": rotates Rm 0/8/16/24 bits, does signed
    halfword extension to word, and writes the result to Rd.
    
    3. "MOVBU Rm@>i, Rd": rotates Rm 0/8/16/24 bits, does unsigned
    byte extension to word, and writes the result to Rd.
    
    4. "MOVHU Rm@>i, Rd": rotates Rm 0/8/16/24 bits, does unsigned
    half-word extension to word, and writes the result to Rd.
    
    5. "XTAB Rm@>i, Rn, Rd": rotates Rm 0/8/16/24 bits, does signed
    byte extension to word, adds Rn, and writes the result to Rd.
    
    6. "XTAH Rm@>i, Rn, Rd": rotates Rm 0/8/16/24 bits, does signed
    half-word extension to word, adds Rn, and writes the result to Rd.
    
    7. "XTABU Rm@>i, Rn, Rd": rotates Rm 0/8/16/24 bits, does unsigned
    byte extension to word, adds Rn, and writes the result to Rd.
    
    8. "XTAHU Rm@>i, Rn, Rd": rotates Rm 0/8/16/24 bits, does unsigned
    half-word extension to word, adds Rn, and writes the result to Rd.
    
    Change-Id: I4306d7ebac93015d7e2e40d307f2c4271c03f466
    Reviewed-on: https://go-review.googlesource.com/65790Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
    Run-TryBot: Cherry Zhang <cherryyz@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    0ed1c380
anames5.go 1.25 KB