mirror of
				https://git.tukaani.org/xz.git
				synced 2025-10-31 13:32:56 +00:00 
			
		
		
		
	liblzma: Remove MSVC hack from CLMUL CRC
It's not enough with MSVC 19.29 (VS 2019) even if the hack was also applied to the CRC32 code. The tests crash when built for 32-bit x86.
This commit is contained in:
		
							parent
							
								
									49ba8c69ea
								
							
						
					
					
						commit
						c5fd88dfc3
					
				| @ -146,14 +146,6 @@ crc64_dispatch(const uint8_t *buf, size_t size, uint64_t crc) | ||||
| extern LZMA_API(uint64_t) | ||||
| lzma_crc64(const uint8_t *buf, size_t size, uint64_t crc) | ||||
| { | ||||
| #if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__clang__) \ | ||||
| 		&& defined(_M_IX86) && defined(CRC64_ARCH_OPTIMIZED) | ||||
| 	// VS2015-2022 might corrupt the ebx register on 32-bit x86 when
 | ||||
| 	// the CLMUL code is enabled. This hack forces MSVC to store and
 | ||||
| 	// restore ebx. This is only needed here, not in lzma_crc32().
 | ||||
| 	__asm  mov ebx, ebx | ||||
| #endif | ||||
| 
 | ||||
| #if defined(CRC64_GENERIC) && defined(CRC64_ARCH_OPTIMIZED) | ||||
| 	return crc64_func(buf, size, crc); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user