diff --git a/roaring/assembly.go b/roaring/assembly.go index 1e5d49519..ea67cf66e 100644 --- a/roaring/assembly.go +++ b/roaring/assembly.go @@ -14,11 +14,6 @@ package roaring -func hasAsm() bool - -func BSFQ(memory uint64) int - -func POPCNTQ(memory uint64) int // bit population count, take from // https://code.google.com/p/go/issues/detail?id=4988#c11 diff --git a/roaring/assembly_asm.go b/roaring/assembly_asm.go index eec8234b8..3eb182cce 100644 --- a/roaring/assembly_asm.go +++ b/roaring/assembly_asm.go @@ -16,6 +16,13 @@ package roaring +func hasAsm() bool + +func BSFQ(memory uint64) int + +func POPCNTQ(memory uint64) int + + //go:noescape var useAsm = hasAsm() diff --git a/roaring/assembly_generic.go b/roaring/assembly_generic.go index 746970ba0..997bfdaa3 100644 --- a/roaring/assembly_generic.go +++ b/roaring/assembly_generic.go @@ -16,6 +16,9 @@ package roaring +func hasAsm() bool {return false} + + func popcntSlice(s []uint64) uint64 { return popcntSliceGo(s) } func popcntMaskSlice(s, m []uint64) uint64 { return popcntMaskSliceGo(s, m) } func popcntAndSlice(s, m []uint64) uint64 { return popcntAndSliceGo(s, m) }