]> git.bitcoin.ninja Git - dnssec-prover/commitdiff
Use Karatsuba mul less when built with `slower_smaller_binary` smaller-bin
authorMatt Corallo <git@bluematt.me>
Thu, 1 Aug 2024 21:36:35 +0000 (21:36 +0000)
committerMatt Corallo <git@bluematt.me>
Thu, 1 Aug 2024 22:35:56 +0000 (22:35 +0000)
This is a less than 5% reduction in performance and reduces code
size for the crypto module from 26.7KiB to 26.5KiB.

src/crypto/bigint.rs

index 8986869c459a7f9be3d4ace0434ac5ab7cba59ad..1955775cb37499876949d3b5635896dca0998ce5 100644 (file)
@@ -431,7 +431,13 @@ macro_rules! define_mul { ($name: ident, $len: expr, $submul: ident) => {
 define_gradeschool_mul!(mul_4, 4, mul_2);
 #[cfg(not(feature = "slower_smaller_binary"))]
 define_gradeschool_mul!(mul_6, 6, mul_3);
+
+#[cfg(not(feature = "slower_smaller_binary"))]
 define_mul!(mul_8, 8, mul_4);
+
+#[cfg(feature = "slower_smaller_binary")]
+define_gradeschool_mul!(mul_8, 8, mul_4);
+
 define_mul!(mul_16, 16, mul_8);
 define_mul!(mul_32, 32, mul_16);
 define_mul!(mul_64, 64, mul_32);