Skip to content

Commit 766e47c

Browse files
committed
Fix SIMD level None
1 parent dc64021 commit 766e47c

File tree

1 file changed

+17
-27
lines changed

1 file changed

+17
-27
lines changed

cpp/src/arrow/util/bpacking_simd_default.cc

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,45 +15,35 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
#include "arrow/util/bpacking_dispatch_internal.h"
1918
#if defined(ARROW_HAVE_NEON)
20-
#include "arrow/util/bpacking_simd_impl_internal.h"
19+
# define UNPACK_PLATFORM unpack_neon
20+
#elif defined(ARROW_HAVE_SSE4_2)
21+
# define UNPACK_PLATFORM unpack_sse4_2
2122
#endif
22-
#include "arrow/util/bpacking_simd_internal.h"
23+
24+
#if defined(UNPACK_PLATFORM)
25+
26+
# include "arrow/util/bpacking_dispatch_internal.h"
27+
# include "arrow/util/bpacking_simd_impl_internal.h"
28+
# include "arrow/util/bpacking_simd_internal.h"
2329

2430
namespace arrow::internal {
2531

2632
template <typename UnpackedUint, int kPackedBitSize>
2733
using Simd128Kernel = Kernel<UnpackedUint, kPackedBitSize, 128>;
2834

29-
#if defined(ARROW_HAVE_NEON)
30-
3135
template <typename Uint>
32-
void unpack_neon(const uint8_t* in, Uint* out, int batch_size, int num_bits,
33-
int bit_offset) {
36+
void UNPACK_PLATFORM(const uint8_t* in, Uint* out, int batch_size, int num_bits,
37+
int bit_offset) {
3438
return unpack_jump<Simd128Kernel>(in, out, batch_size, num_bits, bit_offset);
3539
}
3640

37-
template void unpack_neon<bool>(const uint8_t*, bool*, int, int, int);
38-
template void unpack_neon<uint8_t>(const uint8_t*, uint8_t*, int, int, int);
39-
template void unpack_neon<uint16_t>(const uint8_t*, uint16_t*, int, int, int);
40-
template void unpack_neon<uint32_t>(const uint8_t*, uint32_t*, int, int, int);
41-
template void unpack_neon<uint64_t>(const uint8_t*, uint64_t*, int, int, int);
42-
43-
#elif defined(ARROW_HAVE_SSE4_2)
44-
45-
template <typename Uint>
46-
void unpack_sse4_2(const uint8_t* in, Uint* out, int batch_size, int num_bits,
47-
int bit_offset) {
48-
return unpack_jump<Simd128Kernel>(in, out, batch_size, num_bits, bit_offset);
49-
}
41+
template void UNPACK_PLATFORM<bool>(const uint8_t*, bool*, int, int, int);
42+
template void UNPACK_PLATFORM<uint8_t>(const uint8_t*, uint8_t*, int, int, int);
43+
template void UNPACK_PLATFORM<uint16_t>(const uint8_t*, uint16_t*, int, int, int);
44+
template void UNPACK_PLATFORM<uint32_t>(const uint8_t*, uint32_t*, int, int, int);
45+
template void UNPACK_PLATFORM<uint64_t>(const uint8_t*, uint64_t*, int, int, int);
5046

51-
template void unpack_sse4_2<bool>(const uint8_t*, bool*, int, int, int);
52-
template void unpack_sse4_2<uint8_t>(const uint8_t*, uint8_t*, int, int, int);
53-
template void unpack_sse4_2<uint16_t>(const uint8_t*, uint16_t*, int, int, int);
54-
template void unpack_sse4_2<uint32_t>(const uint8_t*, uint32_t*, int, int, int);
55-
template void unpack_sse4_2<uint64_t>(const uint8_t*, uint64_t*, int, int, int);
47+
} // namespace arrow::internal
5648

5749
#endif
58-
59-
} // namespace arrow::internal

0 commit comments

Comments
 (0)