aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/liblzma/check/crc64_fast.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/liblzma/check/crc64_fast.c b/src/liblzma/check/crc64_fast.c
index e3cbf1b1..1df0963e 100644
--- a/src/liblzma/check/crc64_fast.c
+++ b/src/liblzma/check/crc64_fast.c
@@ -279,6 +279,12 @@ crc64_clmul(const uint8_t *buf, size_t size, uint64_t crc)
const __m128i initial_crc = _mm_cvtsi64_si128(~crc);
#endif
+#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__clang__) \
+ && defined(_M_IX86)
+ // Workaround for MSVC when compiling for 32-bit x86:
+ __asm mov ebx, ebx ; force store ebx: VS2015-2022 destroy it :(
+#endif
+
__m128i v0, v1, v2, v3;
#ifndef CRC_USE_GENERIC_FOR_SMALL_INPUTS