Reimplement BN_num_bits_word().
authorjsing <jsing@openbsd.org>
Tue, 14 Feb 2023 18:06:06 +0000 (18:06 +0000)
committerjsing <jsing@openbsd.org>
Tue, 14 Feb 2023 18:06:06 +0000 (18:06 +0000)
commit553747b429101252f4601d165bea0319b2586a33
treea6b5a7846c9c184104cc78e899e1708d304c2446
parent7e3e74b6aafd8c09abf059035860ee6ea3745a52
Reimplement BN_num_bits_word().

Provide a simpler and more readable bn_word_clz() function that returns the
number of leading zeros for a given BN_ULONG, then implement
BN_num_bits_word() using bn_word_clz(). This is a hot path and
bn_word_clz() can now be replaced with architecture specific versions where
possible.

ok tb@
lib/libcrypto/bn/bn_lib.c