diff --git a/include/dwarfs/nilsimsa.h b/include/dwarfs/nilsimsa.h index 541944e3..a1a440bb 100644 --- a/include/dwarfs/nilsimsa.h +++ b/include/dwarfs/nilsimsa.h @@ -27,19 +27,8 @@ #include #include -#include - #include "dwarfs/compiler.h" -#define DWARFS_NILSIMSA_SIMILARITY(r, a, b) \ - do { \ - int bits = 0; \ - for (int i = 0; i < 4; ++i) { \ - bits += folly::popcount(a[i] ^ b[i]); \ - } \ - r 255 - bits; \ - } while (false) - namespace dwarfs { class nilsimsa { @@ -52,15 +41,6 @@ class nilsimsa { void update(uint8_t const* data, size_t size); void finalize(hash_type& hash) const; -#ifdef DWARFS_MULTIVERSIONING - __attribute__((target("popcnt"))) static int - similarity(uint64_t const* a, uint64_t const* b); - - __attribute__((target("default"))) -#endif - static int - similarity(uint64_t const* a, uint64_t const* b); - void operator()(std::span data) { update(data.data(), data.size()); } diff --git a/src/dwarfs/nilsimsa.cpp b/src/dwarfs/nilsimsa.cpp index 9d795a04..b169d7ee 100644 --- a/src/dwarfs/nilsimsa.cpp +++ b/src/dwarfs/nilsimsa.cpp @@ -192,19 +192,4 @@ void nilsimsa::update(uint8_t const* data, size_t size) { void nilsimsa::finalize(hash_type& hash) const { impl_->finalize(hash); } -#ifdef DWARFS_MULTIVERSIONING -__attribute__((target("popcnt"))) int -nilsimsa::similarity(uint64_t const* a, uint64_t const* b) { - DWARFS_NILSIMSA_SIMILARITY(return, a, b); -} - -__attribute__((target("default"))) -#endif -int nilsimsa::similarity(uint64_t const* a, uint64_t const* b) { - DWARFS_NILSIMSA_SIMILARITY(return, a, b); -} - -static_assert(std::is_same_v || - std::is_same_v); - } // namespace dwarfs