windows_arm64.patch 975 B

123456789101112131415161718192021222324
  1. diff --git a/src/catch2/internal/catch_random_integer_helpers.hpp b/src/catch2/internal/catch_random_integer_helpers.hpp
  2. index 10d82559..cb5e004f 100644
  3. --- a/src/catch2/internal/catch_random_integer_helpers.hpp
  4. +++ b/src/catch2/internal/catch_random_integer_helpers.hpp
  5. @@ -21,7 +21,10 @@
  6. // it, and it provides an escape hatch to the users who need it.
  7. #if defined( __SIZEOF_INT128__ )
  8. # define CATCH_CONFIG_INTERNAL_UINT128
  9. -#elif defined( _MSC_VER ) && ( defined( _WIN64 ) || defined( _M_ARM64 ) )
  10. +// Unlike GCC, MSVC does not polyfill umul as mulh + mul pair on ARM machines.
  11. +// Currently we do not bother doing this ourselves, but we could if it became
  12. +// important for perf.
  13. +#elif defined( _MSC_VER ) && defined( _M_X64 )
  14. # define CATCH_CONFIG_INTERNAL_MSVC_UMUL128
  15. #endif
  16. @@ -36,7 +39,6 @@
  17. !defined( CATCH_CONFIG_MSVC_UMUL128 )
  18. # define CATCH_CONFIG_MSVC_UMUL128
  19. # include <intrin.h>
  20. -# pragma intrinsic( _umul128 )
  21. #endif