mirror of
https://github.com/openssl/openssl.git
synced 2025-02-17 14:32:04 +08:00
ec/curve448: portability fixups.
SPARC condition in __SIZEOF_INT128__==16 is rather performance thing than portability. Even though compiler advertises int128 capability, corresponding operations are inefficient, because they are not directly backed by instruction set. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5449)
This commit is contained in:
parent
e8c42b9888
commit
ae1ffe0f65
@ -500,7 +500,7 @@ struct smvt_control {
|
||||
int power, addend;
|
||||
};
|
||||
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3))
|
||||
# define NUMTRAILINGZEROS __builtin_ctz
|
||||
#else
|
||||
# define NUMTRAILINGZEROS numtrailingzeros
|
||||
|
@ -23,7 +23,8 @@
|
||||
* with arch_arm32.
|
||||
*/
|
||||
# ifndef C448_WORD_BITS
|
||||
# if defined(__SIZEOF_INT128__) && (__SIZEOF_INT128__ == 16)
|
||||
# if (defined(__SIZEOF_INT128__) && (__SIZEOF_INT128__ == 16)) \
|
||||
&& !defined(__sparc__)
|
||||
# define C448_WORD_BITS 64 /* The number of bits in a word */
|
||||
# else
|
||||
# define C448_WORD_BITS 32 /* The number of bits in a word */
|
||||
|
Loading…
Reference in New Issue
Block a user