4 Nov
2024
4 Nov
'24
3:52 p.m.
Jacek Caban (@jacek) commented about include/winnt.h:
#endif }
+#if defined(_MSC_VER) && !defined(__arm64ec__) && (!defined(__clang__) || __has_builtin(_umul128)) +#define UnsignedMultiply128 _umul128 +DWORD64 _umul128(DWORD64,DWORD64,DWORD64*); +#pragma intrinsic(_umul128) +#elif !defined(__i386__) +static FORCEINLINE DWORD64 UnsignedMultiply128( DWORD64 a, DWORD64 b, DWORD64 *hi ) +{ + unsigned __int128 v = (unsigned __int128)a * b; + *hi = v >> 64; + return (DWORD64)v; +} +#define _umul128 UnsignedMultiply128 I think this should be available only for x86_64 target.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/6752#note_86502