boringssl/crypto/bn/asm
Brian Smith d1425f69df Simplify division-with-remainder calculations in crypto/bn/div.c.
Create a |bn_div_rem_words| that is used for double-word/single-word
divisions and division-with-remainder. Remove all implementations of
|bn_div_words| except for the implementation needed for 64-bit MSVC.
This allows more code to be shared across platforms and also removes
an instance of the dangerous pattern wherein the |div_asm| macro
modified a variable that wasn't passed as a parameter.

Also, document the limitations of the compiler-generated code for the
non-asm code paths more fully. Compilers indeed have not improved in
this respect.

Change-Id: I5a36a2edd7465de406d47d72dcd6bf3e63e5c232
Reviewed-on: https://boringssl-review.googlesource.com/7127
Reviewed-by: David Benjamin <davidben@google.com>
2016-02-25 16:13:22 +00:00
..
armv4-mont.pl Consistently use named constants in ARM assembly files. 2016-02-23 17:18:18 +00:00
armv8-mont.pl Add AArch64 Montgomery assembly. 2015-11-10 19:13:46 +00:00
bn-586.pl Inital import. 2014-06-20 13:17:32 -07:00
co-586.pl Inital import. 2014-06-20 13:17:32 -07:00
rsaz-avx2.pl Get rid of all compiler version checks in perlasm files. 2015-10-28 19:33:04 +00:00
rsaz-x86_64.pl Get rid of all compiler version checks in perlasm files. 2015-10-28 19:33:04 +00:00
x86_64-gcc.c Simplify division-with-remainder calculations in crypto/bn/div.c. 2016-02-25 16:13:22 +00:00
x86_64-mont5.pl Re-apply 75b833cc81 2015-12-03 17:25:12 +00:00
x86_64-mont.pl Get rid of all compiler version checks in perlasm files. 2015-10-28 19:33:04 +00:00
x86-mont.pl OpenSSL: make final reduction in Montgomery multiplication constant-time. 2014-06-20 13:17:33 -07:00