• Lynn Boger's avatar
    cmd/compile: ppc64x intrinsics for math/bits · 8304d107
    Lynn Boger authored
    This adds math/bits intrinsics for OnesCount, Len, TrailingZeros on
    ppc64x.
    
    benchmark                       old ns/op     new ns/op     delta
    BenchmarkLeadingZeros-16        4.26          1.71          -59.86%
    BenchmarkLeadingZeros16-16      3.04          1.83          -39.80%
    BenchmarkLeadingZeros32-16      3.31          1.82          -45.02%
    BenchmarkLeadingZeros64-16      3.69          1.71          -53.66%
    BenchmarkTrailingZeros-16       2.55          1.62          -36.47%
    BenchmarkTrailingZeros32-16     2.55          1.77          -30.59%
    BenchmarkTrailingZeros64-16     2.78          1.62          -41.73%
    BenchmarkOnesCount-16           3.19          0.93          -70.85%
    BenchmarkOnesCount32-16         2.55          1.18          -53.73%
    BenchmarkOnesCount64-16         3.22          0.93          -71.12%
    
    Update #18616
    
    I also made a change to bits_test.go because when debugging some failures
    the output was not quite providing the right argument information.
    
    Change-Id: Ia58d31d1777cf4582a4505f85b11a1202ca07d3e
    Reviewed-on: https://go-review.googlesource.com/41630
    Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>
    Reviewed-by: 's avatarKeith Randall <khr@golang.org>
    8304d107
PPC64Ops.go 25.5 KB