]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: intrinsics for math/bits.TrailingZerosX
authorKeith Randall <khr@golang.org>
Tue, 14 Mar 2017 20:25:12 +0000 (13:25 -0700)
committerKeith Randall <khr@golang.org>
Thu, 16 Mar 2017 02:44:16 +0000 (02:44 +0000)
commitd5dc4905191c3f7cfeb52e93331d10ebd33301f5
treeefbe9f8a06b01b0510d8a09fa4edcc4f2c6fb133
parent16200c73331a679b43efc4699b5806c64a556f09
cmd/compile: intrinsics for math/bits.TrailingZerosX

Implement math/bits.TrailingZerosX using intrinsics.

Generally reorganize the intrinsic spec a bit.
The instrinsics data structure is now built at init time.
This will make doing the other functions in math/bits easier.

Update sys.CtzX to return int instead of uint{64,32} so it
matches math/bits.TrailingZerosX.

Improve the intrinsics a bit for amd64.  We don't need the CMOV
for <64 bit versions.

Update #18616

Change-Id: Ic1c5339c943f961d830ae56f12674d7b29d4ff39
Reviewed-on: https://go-review.googlesource.com/38155
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
14 files changed:
src/cmd/compile/internal/gc/asm_test.go
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/ssa/gen/AMD64.rules
src/cmd/compile/internal/ssa/gen/dec64.rules
src/cmd/compile/internal/ssa/gen/genericOps.go
src/cmd/compile/internal/ssa/rewriteAMD64.go
src/cmd/compile/internal/ssa/rewritedec64.go
src/runtime/internal/sys/intrinsics.go
src/runtime/internal/sys/intrinsics_386.s
src/runtime/internal/sys/intrinsics_stubs.go
src/runtime/internal/sys/intrinsics_test.go
src/runtime/malloc.go
src/runtime/mbitmap.go
test/intrinsic.dir/main.go