diff options
author | Andy Polyakov <appro@openssl.org> | 2013-10-13 19:15:15 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2013-10-13 19:15:15 +0200 |
commit | 039081b80977e2a5de84e1f88f8b4d025b559956 (patch) | |
tree | afbd005de48985f2218b8e40faeb011cf8eb3b80 /crypto/bn/bn_lcl.h | |
parent | 0c2adb0a9be76da8de9bbfd5377215f71711a52e (diff) | |
download | openssl-039081b80977e2a5de84e1f88f8b4d025b559956.tar.gz |
Initial aarch64 bits.
Diffstat (limited to 'crypto/bn/bn_lcl.h')
-rw-r--r-- | crypto/bn/bn_lcl.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/bn/bn_lcl.h b/crypto/bn/bn_lcl.h index 64df27aaf9..90787e576e 100644 --- a/crypto/bn/bn_lcl.h +++ b/crypto/bn/bn_lcl.h @@ -318,6 +318,15 @@ extern "C" { : "r"(a), "r"(b)); # endif # endif +# elif defined(__aarch64__) && defined(SIXTY_FOUR_BIT_LONG) +# if defined(__GNUC__) && __GNUC__>=2 +# define BN_UMULT_HIGH(a,b) ({ \ + register BN_ULONG ret; \ + asm ("umulh %0,%1,%2" \ + : "=r"(ret) \ + : "r"(a), "r"(b)); \ + ret; }) +# endif # endif /* cpu */ #endif /* OPENSSL_NO_ASM */ |