1.1.1t.diff 595 B

123456789101112
  1. diff --git a/crypto/bn/rsa_sup_mul.c b/crypto/bn/rsa_sup_mul.c
  2. --- a/crypto/bn/rsa_sup_mul.c
  3. +++ b/crypto/bn/rsa_sup_mul.c
  4. @@ -109,7 +109,7 @@ static ossl_inline void _mul_limb(limb_t *hi, limb_t *lo, limb_t a, limb_t b)
  5. *hi = t >> LIMB_BIT_SIZE;
  6. *lo = (limb_t)t;
  7. }
  8. -#elif (BN_BYTES == 8) && (defined _MSC_VER)
  9. +#elif (BN_BYTES == 8) && (defined _MSC_VER) && (defined(_M_AMD64) || defined(_M_X64))
  10. /* https://learn.microsoft.com/en-us/cpp/intrinsics/umul128?view=msvc-170 */
  11. #pragma intrinsic(_umul128)
  12. static ossl_inline void _mul_limb(limb_t *hi, limb_t *lo, limb_t a, limb_t b)