highway: inlining failed in call to ‘always_inline’ ‘void vst1q_u64(uint64_t*, uint64x2_t)’: target specific option mismatch 11002 | vst1q_u64 (uint64_t * __a, uint64x2_t __b)
hi, this is most likely a regression from https://github.com/google/highway/commit/d8867c95df5c5bcd33562b3a24c96f5a54d298a8
compiler is gcc-10.4.0 on armhf
[8/38] /usr/bin/armv7a-unknown-linux-gnueabihf-g++ -DHWY_SHARED_DEFINE -Dhwy_contrib_EXPORTS -I/var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999 -O2 -pipe -fomit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wno-builtin-macro-redefined -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\" -fmerge-all-constants -Wall -Wextra -Wconversion -Wsign-conversion -Wvla -Wnon-virtual-dtor -fmath-errno -fno-exceptions -MD -MT CMakeFiles/hwy_contrib.dir/hwy/contrib/sort/vqsort_128a.cc.o -MF CMakeFiles/hwy_contrib.dir/hwy/contrib/sort/vqsort_128a.cc.o.d -o CMakeFiles/hwy_contrib.dir/hwy/contrib/sort/vqsort_128a.cc.o -c /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/vqsort_128a.cc
FAILED: CMakeFiles/hwy_contrib.dir/hwy/contrib/sort/vqsort_128a.cc.o
/usr/bin/armv7a-unknown-linux-gnueabihf-g++ -DHWY_SHARED_DEFINE -Dhwy_contrib_EXPORTS -I/var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999 -O2 -pipe -fomit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wno-builtin-macro-redefined -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\" -fmerge-all-constants -Wall -Wextra -Wconversion -Wsign-conversion -Wvla -Wnon-virtual-dtor -fmath-errno -fno-exceptions -MD -MT CMakeFiles/hwy_contrib.dir/hwy/contrib/sort/vqsort_128a.cc.o -MF CMakeFiles/hwy_contrib.dir/hwy/contrib/sort/vqsort_128a.cc.o.d -o CMakeFiles/hwy_contrib.dir/hwy/contrib/sort/vqsort_128a.cc.o -c /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/vqsort_128a.cc
In file included from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/foreach_target.h:23,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/vqsort_128a.cc:20:
/var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/targets.h: In function ‘std::vector<unsigned int> hwy::SupportedAndGeneratedTargets()’:
/var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/detect_targets.h:438:50: warning: integer overflow in expression of type ‘int’ results in ‘-2147483648’ [-Woverflow]
438 | #define HWY_TARGETS (HWY_ATTAINABLE_TARGETS & (2 * HWY_STATIC_TARGET - 1))
| ^
/var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/targets.h:69:48: note: in expansion of macro ‘HWY_TARGETS’
69 | for (uint32_t targets = SupportedTargets() & HWY_TARGETS; targets != 0;
| ^~~~~~~~~~~
In file included from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/highway.h:25,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/shared-inl.h:103,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/traits128-inl.h:27,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/vqsort_128a.cc:23,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/foreach_target.h:81,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/vqsort_128a.cc:20:
/var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/targets.h: In member function ‘size_t hwy::ChosenTarget::GetIndex() const’:
/var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/detect_targets.h:438:50: warning: integer overflow in expression of type ‘int’ results in ‘-2147483648’ [-Woverflow]
438 | #define HWY_TARGETS (HWY_ATTAINABLE_TARGETS & (2 * HWY_STATIC_TARGET - 1))
| ^
/var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/targets.h:157:7: note: in definition of macro ‘HWY_CHOSEN_TARGET_SHIFT’
157 | ((((X) >> (HWY_HIGHEST_TARGET_BIT + 1 - HWY_MAX_DYNAMIC_TARGETS)) & \
| ^
/var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/targets.h:163:28: note: in expansion of macro ‘HWY_TARGETS’
163 | (HWY_CHOSEN_TARGET_SHIFT(HWY_TARGETS) | HWY_CHOSEN_TARGET_MASK_SCALAR | 1u)
| ^~~~~~~~~~~
/var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/targets.h:267:47: note: in expansion of macro ‘HWY_CHOSEN_TARGET_MASK_TARGETS’
267 | HWY_CHOSEN_TARGET_MASK_TARGETS);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/ops/arm_neon-inl.h:29,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/highway.h:322,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/shared-inl.h:103,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/traits128-inl.h:27,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/vqsort_128a.cc:23,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/foreach_target.h:81,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/vqsort_128a.cc:20:
/usr/lib/gcc/armv7a-unknown-linux-gnueabihf/10.4.0/include/arm_neon.h: In function ‘void hwy::N_NEON::StoreU(hwy::N_NEON::Vec128<long long unsigned int, 2>, hwy::N_NEON::Full128<long long unsigned int>, uint64_t*)’:
/usr/lib/gcc/armv7a-unknown-linux-gnueabihf/10.4.0/include/arm_neon.h:11002:1: error: inlining failed in call to ‘always_inline’ ‘void vst1q_u64(uint64_t*, uint64x2_t)’: target specific option mismatch
11002 | vst1q_u64 (uint64_t * __a, uint64x2_t __b)
| ^~~~~~~~~
In file included from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/highway.h:322,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/shared-inl.h:103,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/traits128-inl.h:27,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/vqsort_128a.cc:23,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/foreach_target.h:81,
from /var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/contrib/sort/vqsort_128a.cc:20:
/var/tmp/portage/portage/dev-cpp/highway-9999/work/highway-9999/hwy/ops/arm_neon-inl.h:2744:12: note: called from here
2744 | vst1q_u64(unaligned, v.raw);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~
full build log: build.log.zip
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 43 (20 by maintainers)
Commits related to this issue
- warning fix: cast to u64 for HWY_TARGETS to avoid int32 overflow. Refs #834 PiperOrigin-RevId: 460460056 — committed to google/highway by jan-wassenberg 2 years ago
- warning fix: cast to u64 for HWY_TARGETS to avoid int32 overflow. Refs #834 PiperOrigin-RevId: 460460056 — committed to google/highway by jan-wassenberg 2 years ago
- warning fix: cast to u64 for HWY_TARGETS to avoid int32 overflow. Refs #834 PiperOrigin-RevId: 460460056 — committed to google/highway by jan-wassenberg 2 years ago
- warning fix: cast to u64 for HWY_TARGETS to avoid int32 overflow. Refs #834 PiperOrigin-RevId: 460479211 — committed to google/highway by jan-wassenberg 2 years ago
- disable runtime dispatch on armhf due to GCC 10.4 issue. Fixes #834 PiperOrigin-RevId: 472208082 — committed to google/highway by jan-wassenberg 2 years ago
- disable runtime dispatch on armhf due to GCC 10.4 issue. Fixes #834 PiperOrigin-RevId: 472208082 — committed to google/highway by jan-wassenberg 2 years ago
- disable runtime dispatch on armhf due to GCC 10.4 issue. Fixes #834 PiperOrigin-RevId: 472208082 — committed to google/highway by jan-wassenberg 2 years ago
- disable runtime dispatch on armhf due to GCC 10.4 issue. Fixes #834 PiperOrigin-RevId: 472225618 — committed to google/highway by jan-wassenberg 2 years ago
- proposed fix for armv7 compiled with default vfpv3. Refs #834 PiperOrigin-RevId: 472271949 — committed to google/highway by jan-wassenberg 2 years ago
- proposed fix for armv7 compiled with default vfpv3. Refs #834 PiperOrigin-RevId: 472271949 — committed to google/highway by jan-wassenberg 2 years ago
- fix for armv7 compiled with default vfpv3. Refs #834 PiperOrigin-RevId: 472271949 — committed to google/highway by jan-wassenberg 2 years ago
- fix for armv7 compiled with default vfpv3. Refs #834 PiperOrigin-RevId: 472271949 — committed to google/highway by jan-wassenberg 2 years ago
- fix for armv7 compiled with default vfpv3. Refs #834 PiperOrigin-RevId: 472452069 — committed to google/highway by jan-wassenberg 2 years ago
- Fix compilation for armv7 targets with vfp < v4 and gcc >= 8 When using a armv7 gcc >= 8 toolchain (like [1]) with Highway configured with -DHWY_CMAKE_ARM7=OFF and HWY_ENABLE_CONTRIB=ON, compilation ... — committed to jolivain/highway by jolivain a year ago
- No longer wrap arm_neon in target attributes (interferes with dynamic dispatch) This reverts the workaround in #834. The root cause was our requiring VFPv4 on Armv7, without reliably being able to de... — committed to google/highway by jan-wassenberg 3 months ago
- No longer wrap arm_neon in target attributes (interferes with dynamic dispatch) This reverts the workaround in #834. The root cause was our requiring VFPv4 on Armv7, without reliably being able to de... — committed to google/highway by jan-wassenberg 3 months ago
- No longer wrap arm_neon in target attributes (interferes with dynamic dispatch) This reverts the workaround in #834. The root cause was our requiring VFPv4 on Armv7, without reliably being able to de... — committed to google/highway by jan-wassenberg 3 months ago
- No longer wrap arm_neon in target attributes (interferes with dynamic dispatch) This reverts the workaround in #834. The root cause was our requiring VFPv4 on Armv7, without reliably being able to de... — committed to google/highway by jan-wassenberg 3 months ago
it helps indeed, but I need more time to iron this out - arm hardware really is slow.