aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2023-01-10 12:47:16 +0200
committerLasse Collin <lasse.collin@tukaani.org>2023-01-10 12:47:16 +0200
commitcfabb62a4874c146e7d6f30445637602545bc054 (patch)
tree1c855085d2e0b70313ab679daafba052951b4f36
parentsysdefs.h: Don't include strings.h anymore. (diff)
downloadxz-cfabb62a4874c146e7d6f30445637602545bc054.tar.xz
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.
-rw-r--r--src/liblzma/check/crc64_fast.c6
1 files changed, 0 insertions, 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