diff options
author | jsing <> | 2023-01-23 12:09:06 +0000 |
---|---|---|
committer | jsing <> | 2023-01-23 12:09:06 +0000 |
commit | 4da0d188e0e1d972397bcdd91fcf1bd43d78d844 (patch) | |
tree | 675028e3dc97f108d157c557689575c1e1e81682 /src/lib/libcrypto/bn/bn_asm.c | |
parent | 6dbbeae919d7043dba81294c451f76a1681ab6cc (diff) | |
download | openbsd-4da0d188e0e1d972397bcdd91fcf1bd43d78d844.tar.gz openbsd-4da0d188e0e1d972397bcdd91fcf1bd43d78d844.tar.bz2 openbsd-4da0d188e0e1d972397bcdd91fcf1bd43d78d844.zip |
Move bn_sqr_words from bn_asm.c to bn_sqr.c.
This is wrapped with #ifndef HAVE_BN_SQR_WORDS, which is then defined for
architectures that provide their own assembly versions.
Diffstat (limited to 'src/lib/libcrypto/bn/bn_asm.c')
-rw-r--r-- | src/lib/libcrypto/bn/bn_asm.c | 54 |
1 files changed, 1 insertions, 53 deletions
diff --git a/src/lib/libcrypto/bn/bn_asm.c b/src/lib/libcrypto/bn/bn_asm.c index a7f288fc1c..143c939367 100644 --- a/src/lib/libcrypto/bn/bn_asm.c +++ b/src/lib/libcrypto/bn/bn_asm.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: bn_asm.c,v 1.21 2023/01/23 12:02:48 jsing Exp $ */ | 1 | /* $OpenBSD: bn_asm.c,v 1.22 2023/01/23 12:09:06 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -124,32 +124,6 @@ bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w) | |||
124 | return (c1); | 124 | return (c1); |
125 | } | 125 | } |
126 | 126 | ||
127 | void | ||
128 | bn_sqr_words(BN_ULONG *r, const BN_ULONG *a, int n) | ||
129 | { | ||
130 | assert(n >= 0); | ||
131 | if (n <= 0) | ||
132 | return; | ||
133 | |||
134 | #ifndef OPENSSL_SMALL_FOOTPRINT | ||
135 | while (n & ~3) { | ||
136 | sqr(r[0], r[1], a[0]); | ||
137 | sqr(r[2], r[3], a[1]); | ||
138 | sqr(r[4], r[5], a[2]); | ||
139 | sqr(r[6], r[7], a[3]); | ||
140 | a += 4; | ||
141 | r += 8; | ||
142 | n -= 4; | ||
143 | } | ||
144 | #endif | ||
145 | while (n) { | ||
146 | sqr(r[0], r[1], a[0]); | ||
147 | a++; | ||
148 | r += 2; | ||
149 | n--; | ||
150 | } | ||
151 | } | ||
152 | |||
153 | #else /* !(defined(BN_LLONG) || defined(BN_UMULT_HIGH)) */ | 127 | #else /* !(defined(BN_LLONG) || defined(BN_UMULT_HIGH)) */ |
154 | 128 | ||
155 | BN_ULONG | 129 | BN_ULONG |
@@ -218,32 +192,6 @@ bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w) | |||
218 | return (carry); | 192 | return (carry); |
219 | } | 193 | } |
220 | 194 | ||
221 | void | ||
222 | bn_sqr_words(BN_ULONG *r, const BN_ULONG *a, int n) | ||
223 | { | ||
224 | assert(n >= 0); | ||
225 | if (n <= 0) | ||
226 | return; | ||
227 | |||
228 | #ifndef OPENSSL_SMALL_FOOTPRINT | ||
229 | while (n & ~3) { | ||
230 | sqr64(r[0], r[1], a[0]); | ||
231 | sqr64(r[2], r[3], a[1]); | ||
232 | sqr64(r[4], r[5], a[2]); | ||
233 | sqr64(r[6], r[7], a[3]); | ||
234 | a += 4; | ||
235 | r += 8; | ||
236 | n -= 4; | ||
237 | } | ||
238 | #endif | ||
239 | while (n) { | ||
240 | sqr64(r[0], r[1], a[0]); | ||
241 | a++; | ||
242 | r += 2; | ||
243 | n--; | ||
244 | } | ||
245 | } | ||
246 | |||
247 | #endif /* !(defined(BN_LLONG) || defined(BN_UMULT_HIGH)) */ | 195 | #endif /* !(defined(BN_LLONG) || defined(BN_UMULT_HIGH)) */ |
248 | 196 | ||
249 | #if defined(BN_MUL_COMBA) && !defined(OPENSSL_SMALL_FOOTPRINT) | 197 | #if defined(BN_MUL_COMBA) && !defined(OPENSSL_SMALL_FOOTPRINT) |