• Michael Munday's avatar
    runtime: always mask shift amount regardless of architecture · 7b62e984
    Michael Munday authored
    Currently the shift amount is only masked on x86. Change it so it
    is masked on all architectures. In the worst case we generate a
    couple of extra instructions to perform the masking and in the best
    case we can elide overflow checks.
    
    This particular shift could also be replaced with a rotate
    instruction during optimization which would remove both the masking
    instructions and overflow checks on all architectures.
    
    Fixes #31165.
    
    Change-Id: I16b7a8800b4ba8813dc83735dfc59564e661d3b4
    Reviewed-on: https://go-review.googlesource.com/c/go/+/170122
    Run-TryBot: Michael Munday <mike.munday@ibm.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarKeith Randall <khr@golang.org>
    7b62e984
map.go 42.5 KB