aboutsummaryrefslogtreecommitdiff
path: root/src/strings
diff options
context:
space:
mode:
authorKeith Randall <keithr@alum.mit.edu>2017-03-16 21:33:03 -0700
committerKeith Randall <khr@golang.org>2017-04-04 02:40:11 +0000
commit5cadc91b3ced9614b1055c448f7784a15907fff5 (patch)
treee26a0c402fb85f9c078cedf53a61dc528dfeaf43 /src/strings
parent59f6549d1c7e0e074472c46f55716267225f4fd6 (diff)
downloadgo-5cadc91b3ced9614b1055c448f7784a15907fff5.tar.xz
cmd/compile: intrinsics for math/bits.OnesCount
Popcount instructions on amd64 are not guaranteed to be present, so we must guard their call. Rewrite rules can't generate control flow at the moment, so the intrinsifier needs to generate that code. name old time/op new time/op delta OnesCount-8 2.47ns ± 5% 1.04ns ± 2% -57.70% (p=0.000 n=10+10) OnesCount16-8 1.05ns ± 1% 0.78ns ± 0% -25.56% (p=0.000 n=9+8) OnesCount32-8 1.63ns ± 5% 1.04ns ± 2% -35.96% (p=0.000 n=10+10) OnesCount64-8 2.45ns ± 0% 1.04ns ± 1% -57.55% (p=0.000 n=6+10) Update #18616 Change-Id: I4aff2cc9aa93787898d7b22055fe272a7cf95673 Reviewed-on: https://go-review.googlesource.com/38320 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
Diffstat (limited to 'src/strings')
0 files changed, 0 insertions, 0 deletions