Fix ARM compile

This commit is contained in:
John Keiser 2020-09-09 16:08:24 -07:00
parent 8b978e6aea
commit 209a2e8fc3
3 changed files with 6 additions and 4 deletions

View File

@ -33,9 +33,8 @@ simdjson_really_inline uint64_t prefix_xor(uint64_t bitmask) {
return bitmask;
}
} // unnamed namespace
} // namespace arm64
} // namespace simdjson
} // namespace simdjson
SIMDJSON_UNTARGET_IMPLEMENTATION
#endif

View File

@ -256,6 +256,9 @@ simdjson_really_inline int8x16_t make_int8x16_t(int8_t x1, int8_t x2, int8_t x
// sensible, but the AVX ISA makes this kind of approach difficult.
template<typename L>
simdjson_really_inline void compress(uint16_t mask, L * output) const {
using internal::thintable_epi8;
using internal::BitsSetTable256mul2;
using internal::pshufb_combine_table;
// this particular implementation was inspired by work done by @animetosho
// we do it in two steps, first 8 bytes and then second 8 bytes
uint8_t mask1 = uint8_t(mask); // least significant 8 bits

View File

@ -41,11 +41,11 @@
// has it as a macro.
#ifndef _blsr_u64
// we roll our own
SIMDJSON_TARGET_IMPLEMENTATION
SIMDJSON_TARGET_HASWELL
static simdjson_really_inline uint64_t _blsr_u64(uint64_t n) {
return (n - 1) & n;
}
SIMDJSON_UNTARGET_IMPLEMENTATION
SIMDJSON_UNTARGET_REGION
#endif // _blsr_u64
#endif // SIMDJSON_CLANG_VISUAL_STUDIO