Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)."
This reverts commit 36edc65ab4
.
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.
This commit is contained in:
parent
e81b9fc48c
commit
52902ad695
|
@ -279,12 +279,6 @@ crc64_clmul(const uint8_t *buf, size_t size, uint64_t crc)
|
||||||
const __m128i initial_crc = _mm_cvtsi64_si128(~crc);
|
const __m128i initial_crc = _mm_cvtsi64_si128(~crc);
|
||||||
#endif
|
#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;
|
__m128i v0, v1, v2, v3;
|
||||||
|
|
||||||
#ifndef CRC_USE_GENERIC_FOR_SMALL_INPUTS
|
#ifndef CRC_USE_GENERIC_FOR_SMALL_INPUTS
|
||||||
|
|
Loading…
Reference in New Issue