From cfabb62a4874c146e7d6f30445637602545bc054 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Tue, 10 Jan 2023 12:47:16 +0200 Subject: [PATCH] Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)." This reverts commit 36edc65ab4cf10a131f239acbd423b4510ba52d5. It was reported that it wasn't a good enough fix and MSVC still produced (different kind of) bad code when building for 32-bit x86 if optimizations are enabled. Thanks to Iouri Kharon. --- src/liblzma/check/crc64_fast.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/liblzma/check/crc64_fast.c b/src/liblzma/check/crc64_fast.c index 1df0963e..e3cbf1b1 100644 --- a/src/liblzma/check/crc64_fast.c +++ b/src/liblzma/check/crc64_fast.c @@ -279,12 +279,6 @@ 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