• Carlos Eduardo Seo's avatar
    cmd/compile/internal, cmd/internal/obj/ppc64: generate new count trailing... · 3023d7da
    Carlos Eduardo Seo authored
    cmd/compile/internal, cmd/internal/obj/ppc64: generate new count trailing zeros instructions on POWER9
    
    This change adds new POWER9 instructions for counting trailing zeros (CNTTZW/CNTTZD)
    to the assembler and generates them in SSA when GOPPC64=power9.
    
    name                 old time/op  new time/op  delta
    TrailingZeros-160    1.59ns ±20%  1.45ns ±10%  -8.81%  (p=0.000 n=14+13)
    TrailingZeros8-160   1.55ns ±23%  1.62ns ±44%    ~     (p=0.593 n=13+15)
    TrailingZeros16-160  1.78ns ±23%  1.62ns ±38%  -9.31%  (p=0.003 n=14+14)
    TrailingZeros32-160  1.64ns ±10%  1.49ns ± 9%  -9.15%  (p=0.000 n=13+14)
    TrailingZeros64-160  1.53ns ± 6%  1.45ns ± 5%  -5.38%  (p=0.000 n=15+13)
    
    Change-Id: I365e6ff79f3ce4d8ebe089a6a86b1771853eb596
    Reviewed-on: https://go-review.googlesource.com/c/go/+/167517Reviewed-by: default avatarLynn Boger <laboger@linux.vnet.ibm.com>
    3023d7da
asm9.go 139 KB