Lines Matching +full:hi +full:- +full:speed

2  * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.
14 /*-
25 * A. Well, that's because this code is basically a quick-n-dirty
26 * proof-of-concept hack. As you can see it's implemented with
37 * A. 'apps/openssl speed rsa dsa' output with no-asm:
49 * 'apps/openssl speed rsa dsa' output with this module:
61 * For the reference. IA-32 assembler implementation performs
62 * very much like 64-bit code compiled with no-asm on the same
69 /*-
70 * "m"(a), "+m"(r) is the way to favor DirectPath ยต-code;
125 num -= 4; in bn_mul_add_words()
129 if (--num == 0) in bn_mul_add_words()
132 if (--num == 0) in bn_mul_add_words()
155 num -= 4; in bn_mul_words()
159 if (--num == 0) in bn_mul_words()
162 if (--num == 0) in bn_mul_words()
181 n -= 4; in bn_sqr_words()
185 if (--n == 0) in bn_sqr_words()
188 if (--n == 0) in bn_sqr_words()
258 /* Simics 1.4<7 has buggy sbbq:-( */
271 r[0] = (t1 - t2 - c) & BN_MASK2; in bn_sub_words()
274 if (--n <= 0) in bn_sub_words()
279 r[1] = (t1 - t2 - c) & BN_MASK2; in bn_sub_words()
282 if (--n <= 0) in bn_sub_words()
287 r[2] = (t1 - t2 - c) & BN_MASK2; in bn_sub_words()
290 if (--n <= 0) in bn_sub_words()
295 r[3] = (t1 - t2 - c) & BN_MASK2; in bn_sub_words()
298 if (--n <= 0) in bn_sub_words()
309 /* mul_add_c(a,b,c0,c1,c2) -- c+=a*b for three word number c=(c2,c1,c0) */
310 /* mul_add_c2(a,b,c0,c1,c2) -- c+=2*a*b for three word number c=(c2,c1,c0) */
311 /* sqr_add_c(a,i,c0,c1,c2) -- c+=a[i]^2 for three word number c=(c2,c1,c0) */
313 * sqr_add_c2(a,i,c0,c1,c2) -- c+=2*a[i]*a[j] for three word number
319 * can not overflow, because it cannot be all-ones.
325 BN_ULONG lo, hi; \
326 BN_UMULT_LOHI(lo,hi,ta,tb); \
327 c0 += lo; hi += (c0<lo)?1:0; \
328 c1 += hi; c2 += (c1<hi)?1:0; \
333 BN_ULONG lo, hi, tt; \
334 BN_UMULT_LOHI(lo,hi,ta,tb); \
335 c0 += lo; tt = hi+((c0<lo)?1:0); \
337 c0 += lo; hi += (c0<lo)?1:0; \
338 c1 += hi; c2 += (c1<hi)?1:0; \
343 BN_ULONG lo, hi; \
344 BN_UMULT_LOHI(lo,hi,ta,ta); \
345 c0 += lo; hi += (c0<lo)?1:0; \
346 c1 += hi; c2 += (c1<hi)?1:0; \