]> Cypherpunks repositories - gostls13.git/commit
cmd/compile/internal, cmd/internal/obj/ppc64: generate new count trailing zeros instr...
authorCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>
Fri, 8 Feb 2019 18:18:12 +0000 (16:18 -0200)
committerCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>
Wed, 20 Mar 2019 20:27:00 +0000 (20:27 +0000)
commit3023d7da49cad1a6fae4684d1b9313c51a4085d4
tree5360e2a9e92ca4c2b632054b986bd5562c8bfc24
parent23b476a3c8b5d915c4b50957a0f3935a40261eac
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/+/167517
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
src/cmd/compile/internal/ppc64/ssa.go
src/cmd/compile/internal/ssa/gen/PPC64.rules
src/cmd/compile/internal/ssa/gen/PPC64Ops.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewritePPC64.go
src/cmd/internal/obj/ppc64/a.out.go
src/cmd/internal/obj/ppc64/anames.go
src/cmd/internal/obj/ppc64/asm9.go
test/codegen/mathbits.go