Clean up bn_sqr_words()
authorjsing <jsing@openbsd.org>
Thu, 9 Feb 2023 09:16:26 +0000 (09:16 +0000)
committerjsing <jsing@openbsd.org>
Thu, 9 Feb 2023 09:16:26 +0000 (09:16 +0000)
commitd318803ae5dbd5ed8cb7912967600fcf0bc4e527
treeb830656800a9a42e0940099c3e41ee85bea3cca6
parent9b865405c4f8bbf56f2ad171c37bdb691af4377b
Clean up bn_sqr_words()

Currently there are two versions of bn_sqr_words(), which call the sqr or
sqr64 macro. Replace this with a single version that calls bn_umul_hilo()
and remove the various implementations of the sqr macro. The only slight
downside is that sqr64 does three multiplications instead of four, given
that the second and third terms are identical. However, this is a minimal
gain for the amount of duplication and entanglement it introduces.

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