diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2024-02-15 15:57:50 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2024-02-15 15:58:50 -0800 |
commit | d4578efe7c3a8da81f6e555f6ac1ffa2862b75ed (patch) | |
tree | 0aca07cb0a356a180c8025adee81bd8a80e0e001 /absl/debugging | |
parent | 797501d12ea767dabdc8d36674e083869e62ee7d (diff) |
PR #1617: fix MSVC 32-bit build with -arch:AVX
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1617
The intrinsics used aren't available on `x86_64` processors while running in 32-bit mode. See:
- list of 64-bit intrinsics (https://learn.microsoft.com/en-us/cpp/intrinsics/x64-amd64-intrinsics-list?view=msvc-170)
- list of 32-bit intrinsics (https://learn.microsoft.com/en-us/cpp/intrinsics/x86-intrinsics-list?view=msvc-170)
- list of predefined MSVC macros (https://learn.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-170)
The error message in question:
```console
F:\dev\opentrack-depends\onnxruntime-build\msvc\_deps\abseil_cpp-src\absl/crc/internal/crc32_x86_arm_combined_simd.h(145,32): error C3861: '_mm_crc32_u64': identifier not found
return static_cast<uint32_t>(_mm_crc32_u64(crc, v));
^
F:\dev\opentrack-depends\onnxruntime-build\msvc\_deps\abseil_cpp-src\absl/crc/internal/crc32_x86_arm_combined_simd.h(193,50): error C3861: '_mm_cvtsi128_si64': identifier not found
inline int64_t V128_Low64(const V128 l) { return _mm_cvtsi128_si64(l); }
```
Merge 06f5832108a2b01e0a900db51e1c870f7069a1f2 into 797501d12ea767dabdc8d36674e083869e62ee7d
Merging this change closes #1617
COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1617 from sthalik:pr/fix-msvc-32-bit-avx 06f5832108a2b01e0a900db51e1c870f7069a1f2
PiperOrigin-RevId: 607483370
Change-Id: Id2a6f6dd33c2707fe7ffe134e7335916f3fb9da3
Diffstat (limited to 'absl/debugging')
0 files changed, 0 insertions, 0 deletions