From fbae0f4d15bec9a0e5c24e68bf402cf1a0f6b394 Mon Sep 17 00:00:00 2001 From: Todd Gruben Date: Mon, 15 May 2017 11:31:41 -0500 Subject: [PATCH] asm build options for non amd64 --- roaring/assembly.go | 5 ----- roaring/assembly_asm.go | 7 +++++++ roaring/assembly_generic.go | 3 +++ 3 files changed, 10 insertions(+), 5 deletions(-) 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) }