• Ben Shi's avatar
    cmd/internal/obj/arm64: optimize constant pool · 9be19210
    Ben Shi authored
    "MOVD $0xaaaaaaaa, R2"
    "MOVD $-0x55555555, R3"
    
    For the above instructions, 64-bit constants 0x00000000 aaaaaaaa
    and 0xffffffff aaaaaaab are stored in the constant pool.
    
    This CL optimizes them to
    "MOVWU $0xaaaaaaaa, R2"
    "MOVW $-0x05555555, R3"
    and 32-bit constants 0xaaaaaaaa and 0xaaaaaaab are stored in the
    constant pool.
    
    There is a little size reduction (about total 5KB) in both the go
    executable and the library files.
    
    Change-Id: I7c4bfa6cd9c07da99c69a8f9c15010a0cce3b735
    Reviewed-on: https://go-review.googlesource.com/105775Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
    Run-TryBot: Cherry Zhang <cherryyz@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    9be19210
asm7.go 139 KB