diff options
author | Andy Polyakov <appro@openssl.org> | 2017-07-27 22:26:58 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2017-07-31 10:02:31 +0200 |
commit | 46288370bf233fc6e4edfeb73748bfdae4b25e21 (patch) | |
tree | 5adad602d2680d7453b55e6f7c08322faa2ba4b2 /crypto/bn/bn_lcl.h | |
parent | bac5b39c96b2e573e1ca0ad648620022cd3bfa32 (diff) | |
download | openssl-new-46288370bf233fc6e4edfeb73748bfdae4b25e21.tar.gz |
bn/bn_lcl.h: improve inline assembly coverage on PPC64.
[And move misplaced macros.]
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto/bn/bn_lcl.h')
-rw-r--r-- | crypto/bn/bn_lcl.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/crypto/bn/bn_lcl.h b/crypto/bn/bn_lcl.h index 5121c907ff..21e9237fc7 100644 --- a/crypto/bn/bn_lcl.h +++ b/crypto/bn/bn_lcl.h @@ -382,7 +382,7 @@ struct bn_gencb_st { : "r"(a), "r"(b)); \ ret; }) # endif /* compiler */ -# elif defined(_ARCH_PPC) && defined(__64BIT__) && defined(SIXTY_FOUR_BIT_LONG) +# elif defined(_ARCH_PPC64) && defined(SIXTY_FOUR_BIT_LONG) # if defined(__GNUC__) && __GNUC__>=2 # define BN_UMULT_HIGH(a,b) ({ \ register BN_ULONG ret; \ @@ -449,12 +449,6 @@ unsigned __int64 _umul128(unsigned __int64 a, unsigned __int64 b, # endif /* cpu */ # endif /* OPENSSL_NO_ASM */ -/************************************************************* - * Using the long long type - */ -# define Lw(t) (((BN_ULONG)(t))&BN_MASK2) -# define Hw(t) (((BN_ULONG)((t)>>BN_BITS2))&BN_MASK2) - # ifdef BN_DEBUG_RAND # define bn_clear_top2max(a) \ { \ @@ -468,6 +462,12 @@ unsigned __int64 _umul128(unsigned __int64 a, unsigned __int64 b, # endif # ifdef BN_LLONG +/******************************************************************* + * Using the long long type, has to be twice as wide as BN_ULONG... + */ +# define Lw(t) (((BN_ULONG)(t))&BN_MASK2) +# define Hw(t) (((BN_ULONG)((t)>>BN_BITS2))&BN_MASK2) + # define mul_add(r,a,w,c) { \ BN_ULLONG t; \ t=(BN_ULLONG)w * (a) + (r) + (c); \ |