Skip to content

Commit a4bfe8a

Browse files
committed
Add SSE4.2 to dynamic dispatch
1 parent 12662a3 commit a4bfe8a

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

cpp/src/arrow/util/bpacking.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,11 @@ struct UnpackDynamicFunction {
3434

3535
static constexpr auto implementations() {
3636
return std::array {
37-
// Current SIMD unpack algorithm works terribly on SSE4.2 due to lack of variable
38-
// rhsift and poor xsimd fallback.
37+
#if defined(ARROW_HAVE_SSE4_2)
38+
Implementation{DispatchLevel::NONE, &unpack_sse4_2<Uint>},
39+
#else
3940
Implementation{DispatchLevel::NONE, &unpack_scalar<Uint>},
41+
#endif
4042
#if defined(ARROW_HAVE_RUNTIME_AVX2)
4143
Implementation{DispatchLevel::AVX2, &unpack_avx2<Uint>},
4244
#endif

0 commit comments

Comments
 (0)