diff options
| author | Alberto Donizetti <alb.donizetti@gmail.com> | 2018-03-06 12:55:41 +0100 |
|---|---|---|
| committer | Alberto Donizetti <alb.donizetti@gmail.com> | 2018-03-06 17:53:00 +0000 |
| commit | 18ae5eca3b12a64a81ecc994f4e79b1c3dbbecbc (patch) | |
| tree | 1bb88c314134e7e4bbbe29b587b8ba63b55494b0 /test/codegen/mathbits.go | |
| parent | f62444547317764f9d77b4e4ce730a8414607c6b (diff) | |
| download | go-18ae5eca3b12a64a81ecc994f4e79b1c3dbbecbc.tar.xz | |
test/codegen: port math/bits.OnesCount tests to codegen
And remove them from ssa_test.
Change-Id: I3efac5fea529bb0efa2dae32124530482ba5058e
Reviewed-on: https://go-review.googlesource.com/98815
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'test/codegen/mathbits.go')
| -rw-r--r-- | test/codegen/mathbits.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/codegen/mathbits.go b/test/codegen/mathbits.go index f930046a3b..a95c13caa9 100644 --- a/test/codegen/mathbits.go +++ b/test/codegen/mathbits.go @@ -96,6 +96,34 @@ func Len8(n uint8) int { return bits.Len8(n) } +// -------------------- // +// bits.OnesCount // +// -------------------- // + +func OnesCount(n uint) int { + //amd64:"POPCNTQ",".*support_popcnt" + //arm64:"VCNT","VUADDLV" + return bits.OnesCount(n) +} + +func OnesCount64(n uint64) int { + //amd64:"POPCNTQ",".*support_popcnt" + //arm64:"VCNT","VUADDLV" + return bits.OnesCount64(n) +} + +func OnesCount32(n uint32) int { + //amd64:"POPCNTL",".*support_popcnt" + //arm64:"VCNT","VUADDLV" + return bits.OnesCount32(n) +} + +func OnesCount16(n uint16) int { + //amd64:"POPCNTL",".*support_popcnt" + //arm64:"VCNT","VUADDLV" + return bits.OnesCount16(n) +} + // ------------------------ // // bits.TrailingZeros // // ------------------------ // |
