Skip to content

Commit b28ea9b

Browse files
committed
Use fallback right shift on large uint8_t avx2
1 parent 4cfe39f commit b28ea9b

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

cpp/src/arrow/util/bpacking_simd_impl_internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -751,7 +751,7 @@ struct LargeKernel {
751751
const auto low_swizzled = swizzle_bytes(bytes, kLowSwizzles);
752752
const auto low_words = xsimd::bitwise_cast<unpacked_type>(low_swizzled);
753753
simd_batch low_shifted;
754-
if constexpr (kShape.unpacked_byte_size() == 1) {
754+
if constexpr (kShape.unpacked_byte_size() == 1 && HasSse2<arch_type>) {
755755
// The logic of the fallback in right_shift_by_excess does not work for this single
756756
// byte case case, so we use directly xsimd and its scalar fallback.
757757
low_shifted = low_words >> kLowRShifts;

0 commit comments

Comments
 (0)