- 
                Notifications
    You must be signed in to change notification settings 
- Fork 3.9k
Closed
Description
Describe the bug, including details regarding any error messages, version, and platform.
test-r-rstudio-r-base-4.1-opensuse155 is failing with the following error:
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc: In function ‘uint64_t arrow::compute::CompareSelected8_avx2(const uint8_t*, const uint8_t*, __m256i, __m256i, __m256i, int)’:
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:317:19: error: there are no arguments to ‘_mm256_set_m128i’ that depend on a template parameter, so a declaration of ‘_mm256_set_m128i’ must be available [-fpermissive]
   __m256i right = _mm256_set_m128i(right_hi, right_lo);
                   ^~~~~~~~~~~~~~~~
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:317:35: error: ‘_mm256_set_m128i’ was not declared in this scope
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:317:35: note: suggested alternative: ‘_mm256_set_epi8’
   __m256i right = _mm256_set_m128i(right_hi, right_lo);
                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
                   _mm256_set_epi8
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc: In instantiation of ‘uint64_t arrow::compute::CompareSelected8_avx2(const uint8_t*, const uint8_t*, __m256i, __m256i, __m256i, int) [with int column_width = 2; uint64_t = long unsigned int; uint8_t = unsigned char; __m256i = __vector(4) long long int]’:
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:502:44:   required from ‘arrow::compute::KeyCompare::CompareBinaryColumnToRowImp_avx2(uint32_t, uint32_t, const uint16_t*, const uint32_t*, arrow::compute::LightContext*, const arrow::compute::KeyColumnArray&, const arrow::compute::RowTableImpl&, uint8_t*)::<lambda(const uint8_t*, const uint8_t*, uint32_t, __m256i, __m256i, __m256i)> [with bool use_selection = true; uint8_t = unsigned char; uint32_t = unsigned int; __m256i = __vector(4) long long int]’
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:499:10:   required from ‘struct arrow::compute::KeyCompare::CompareBinaryColumnToRowImp_avx2(uint32_t, uint32_t, const uint16_t*, const uint32_t*, arrow::compute::LightContext*, const arrow::compute::KeyColumnArray&, const arrow::compute::RowTableImpl&, uint8_t*) [with bool use_selection = true; uint32_t = unsigned int; uint16_t = short unsigned int; uint8_t = unsigned char]::<lambda(const uint8_t*, const uint8_t*, uint32_t, __m256i, __m256i, __m256i)>’
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:496:62:   required from ‘static uint32_t arrow::compute::KeyCompare::CompareBinaryColumnToRowImp_avx2(uint32_t, uint32_t, const uint16_t*, const uint32_t*, arrow::compute::LightContext*, const arrow::compute::KeyColumnArray&, const arrow::compute::RowTableImpl&, uint8_t*) [with bool use_selection = true; uint32_t = unsigned int; uint16_t = short unsigned int; uint8_t = unsigned char]’
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:672:83:   required from here
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:317:35: error: ‘_mm256_set_m128i’ was not declared in this scope
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:317:35: note: suggested alternative: ‘_mm256_set_epi8’
   __m256i right = _mm256_set_m128i(right_hi, right_lo);
                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
                   _mm256_set_epi8
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc: In instantiation of ‘uint64_t arrow::compute::CompareSelected8_avx2(const uint8_t*, const uint8_t*, __m256i, __m256i, __m256i, int) [with int column_width = 4; uint64_t = long unsigned int; uint8_t = unsigned char; __m256i = __vector(4) long long int]’:
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:516:44:   required from ‘arrow::compute::KeyCompare::CompareBinaryColumnToRowImp_avx2(uint32_t, uint32_t, const uint16_t*, const uint32_t*, arrow::compute::LightContext*, const arrow::compute::KeyColumnArray&, const arrow::compute::RowTableImpl&, uint8_t*)::<lambda(const uint8_t*, const uint8_t*, uint32_t, __m256i, __m256i, __m256i)> [with bool use_selection = true; uint8_t = unsigned char; uint32_t = unsigned int; __m256i = __vector(4) long long int]’
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:513:10:   required from ‘struct arrow::compute::KeyCompare::CompareBinaryColumnToRowImp_avx2(uint32_t, uint32_t, const uint16_t*, const uint32_t*, arrow::compute::LightContext*, const arrow::compute::KeyColumnArray&, const arrow::compute::RowTableImpl&, uint8_t*) [with bool use_selection = true; uint32_t = unsigned int; uint16_t = short unsigned int; uint8_t = unsigned char]::<lambda(const uint8_t*, const uint8_t*, uint32_t, __m256i, __m256i, __m256i)>’
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:510:62:   required from ‘static uint32_t arrow::compute::KeyCompare::CompareBinaryColumnToRowImp_avx2(uint32_t, uint32_t, const uint16_t*, const uint32_t*, arrow::compute::LightContext*, const arrow::compute::KeyColumnArray&, const arrow::compute::RowTableImpl&, uint8_t*) [with bool use_selection = true; uint32_t = unsigned int; uint16_t = short unsigned int; uint8_t = unsigned char]’
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:672:83:   required from here
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:317:35: error: ‘_mm256_set_m128i’ was not declared in this scope
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:317:35: note: suggested alternative: ‘_mm256_set_epi8’
   __m256i right = _mm256_set_m128i(right_hi, right_lo);
                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
                   _mm256_set_epi8
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc: In instantiation of ‘uint64_t arrow::compute::Compare8_avx2(const uint8_t*, const uint8_t*, uint32_t, __m256i, __m256i, int) [with int column_width = 0; uint64_t = long unsigned int; uint8_t = unsigned char; uint32_t = unsigned int; __m256i = __vector(4) long long int]’:
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:477:36:   required from ‘arrow::compute::KeyCompare::CompareBinaryColumnToRowImp_avx2(uint32_t, uint32_t, const uint16_t*, const uint32_t*, arrow::compute::LightContext*, const arrow::compute::KeyColumnArray&, const arrow::compute::RowTableImpl&, uint8_t*)::<lambda(const uint8_t*, const uint8_t*, uint32_t, __m256i, __m256i, __m256i)> [with bool use_selection = true; uint8_t = unsigned char; uint32_t = unsigned int; __m256i = __vector(4) long long int]’
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:470:10:   required from ‘struct arrow::compute::KeyCompare::CompareBinaryColumnToRowImp_avx2(uint32_t, uint32_t, const uint16_t*, const uint32_t*, arrow::compute::LightContext*, const arrow::compute::KeyColumnArray&, const arrow::compute::RowTableImpl&, uint8_t*) [with bool use_selection = true; uint32_t = unsigned int; uint16_t = short unsigned int; uint8_t = unsigned char]::<lambda(const uint8_t*, const uint8_t*, uint32_t, __m256i, __m256i, __m256i)>’
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:467:62:   required from ‘static uint32_t arrow::compute::KeyCompare::CompareBinaryColumnToRowImp_avx2(uint32_t, uint32_t, const uint16_t*, const uint32_t*, arrow::compute::LightContext*, const arrow::compute::KeyColumnArray&, const arrow::compute::RowTableImpl&, uint8_t*) [with bool use_selection = true; uint32_t = unsigned int; uint16_t = short unsigned int; uint8_t = unsigned char]’
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:672:83:   required from here
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:368:35: error: ‘_mm256_set_m128i’ was not declared in this scope
   __m256i right = _mm256_set_m128i(right_hi, right_lo);
                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/arrow/cpp/src/arrow/compute/row/compare_internal_avx2.cc:368:35: note: suggested alternative: ‘_mm256_set_epi8’
   __m256i right = _mm256_set_m128i(right_hi, right_lo);
                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
                   _mm256_set_epi8
GH-43389 may be related.
Component(s)
C++