From: <sv...@op...> - 2025-01-07 15:25:44
|
Author: manx Date: Tue Jan 7 16:25:32 2025 New Revision: 22847 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22847 Log: Merged revision(s) 22845 from trunk/OpenMPT: [Fix] UnRAR: Work-around MSVC compiler hang on ARM64EC. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/include/unrar/OpenMPT.txt branches/OpenMPT-1.31/include/unrar/os.hpp Modified: branches/OpenMPT-1.31/include/unrar/OpenMPT.txt ============================================================================== --- branches/OpenMPT-1.31/include/unrar/OpenMPT.txt Tue Jan 7 16:25:07 2025 (r22846) +++ branches/OpenMPT-1.31/include/unrar/OpenMPT.txt Tue Jan 7 16:25:32 2025 (r22847) @@ -4,6 +4,7 @@ existing lines were edited; only new lines were added. os.hpp has been modified to support Clang/LLVM for Windows. Work-arounds for tiny problems with Clang/C2 have been implemented. +Work-arounds for ARM64EC compiler bugs have been implemented. Added lines can be found by looking for "// OPENMPT ADDITION" comments. Optimizations have been done to elimiate effectively dead code that would Modified: branches/OpenMPT-1.31/include/unrar/os.hpp ============================================================================== --- branches/OpenMPT-1.31/include/unrar/os.hpp Tue Jan 7 16:25:07 2025 (r22846) +++ branches/OpenMPT-1.31/include/unrar/os.hpp Tue Jan 7 16:25:32 2025 (r22847) @@ -78,11 +78,14 @@ // Use SSE only for x86/x64, not ARM Windows. #if !defined(__clang__) // OPENMPT ADDITION +#if !defined(_M_ARM64EC) // OPENMPT ADDITION +// MSVC enters an infinite loop when compiling blake2s.cpp in ARM64EC mode with SSE intrinsics enabled. // OPENMPT ADDITION #if defined(_M_IX86) || defined(_M_X64) #define USE_SSE #define SSE_ALIGNMENT 16 #endif #endif // OPENMPT ADDITION +#endif // OPENMPT ADDITION #include <stdio.h> #include <stdlib.h> |