Reimplement bn_sqr_comba{4,8}().
authorjsing <jsing@openbsd.org>
Fri, 17 Feb 2023 05:13:34 +0000 (05:13 +0000)
committerjsing <jsing@openbsd.org>
Fri, 17 Feb 2023 05:13:34 +0000 (05:13 +0000)
commita8b2fef09b7f4666885924303f93958d1b3fbd32
treebdfa2dabf0ccb0dfbb234eaada50d41fba7e27dc
parentffc379c2ac09d21d9e02de3104c9f60f6b2f23f5
Reimplement bn_sqr_comba{4,8}().

Use bignum primitives rather than the current mess of macros.The sqr_add_c
macro gets replaced with bn_mulw_addtw(), while the sqr_add_c2 macro gets
replaced with bn_mul2_mulw_addtw().

The variables in the comba functions have also been reordered, so that the
patterns are easier to understand - the compiler can take care of
optimising the inputs and outputs to avoid register moves.

ok tb@
lib/libcrypto/bn/bn_internal.h
lib/libcrypto/bn/bn_sqr.c