Blame SOURCES/openssl-fips-0.9.8e-ia64.patch
|
|
5820f5 |
diff -up openssl-fips-0.9.8e/crypto/bn/bn_lcl.h.ia64 openssl-fips-0.9.8e/crypto/bn/bn_lcl.h
|
|
|
5820f5 |
--- openssl-fips-0.9.8e/crypto/bn/bn_lcl.h.ia64 2010-04-16 18:15:11.000000000 +0200
|
|
|
5820f5 |
+++ openssl-fips-0.9.8e/crypto/bn/bn_lcl.h 2010-04-16 18:15:11.000000000 +0200
|
|
|
5820f5 |
@@ -279,6 +279,15 @@ extern "C" {
|
|
|
5820f5 |
# define BN_UMULT_HIGH(a,b) __umulh((a),(b))
|
|
|
5820f5 |
# define BN_UMULT_LOHI(low,high,a,b) ((low)=_umul128((a),(b),&(high)))
|
|
|
5820f5 |
# endif
|
|
|
5820f5 |
+# elif defined(__ia64) && defined(SIXTY_FOUR_BIT_LONG)
|
|
|
5820f5 |
+# if defined(__GNUC__)
|
|
|
5820f5 |
+# define BN_UMULT_HIGH(a,b) ({ \
|
|
|
5820f5 |
+ register BN_ULONG ret; \
|
|
|
5820f5 |
+ asm ("xmpy.hu %0 = %1, %2" \
|
|
|
5820f5 |
+ : "=f"(ret) \
|
|
|
5820f5 |
+ : "f"(a), "f"(b)); \
|
|
|
5820f5 |
+ ret; })
|
|
|
5820f5 |
+# endif /* compiler */
|
|
|
5820f5 |
# endif /* cpu */
|
|
|
5820f5 |
#endif /* OPENSSL_NO_ASM */
|
|
|
5820f5 |
|