Andy Polyakov f49cf4afa0 bn/asm/sparcv9-mont.pl: fix squaring code path. 7 years ago
..
x86 dfeab0689f Import of old SSLeay release: SSLeay 0.9.1b (unreleased) 25 years ago
README 09f4bd2a39 Very few in the "README" is up-to-date 23 years ago
alpha-mont.pl 8ff5c8874f Alpha assembler fixed from HEAD. 13 years ago
armv4-gf2m.pl 9f0b86c68b Conversion to UTF-8 where needed 9 years ago
armv4-mont.pl f4868c9921 Remove inconsistency in ARM support. 9 years ago
bn-586.pl 4d1f3f7a6c Update perl asm scripts include paths for perlasm. 16 years ago
co-586.pl 4d1f3f7a6c Update perl asm scripts include paths for perlasm. 16 years ago
ia64-mont.pl 4195343c0d IA64 assembler pack update from HEAD. 12 years ago
ia64.S ec3a7c9b37 Fix typos 8 years ago
mips-mont.pl 1aecb23f5b MIPS assembly pack: get rid of deprecated instructions. 10 years ago
mips.pl 49446ea62f Fix for CVE-2014-3570 (with minor bn_asm.c revamp). 9 years ago
mips3-mont.pl 673c55a2fe Latest bn_mont.c modification broke ECDSA test. I've got math wrong, which 17 years ago
mips3.s 19a6e8b32c This fixes "Spurious test failures on IRIX?" reported in April. Apparently 23 years ago
pa-risc2.s 04945fda66 pa-risc2.s was not PIC, see RT#426. I strip call to fprintf as it's 21 years ago
pa-risc2W.s 6df3553255 A compiler warning removed. Thanks to the folks at HP! 24 years ago
parisc-mont.pl 6c7fa27404 PA-RISC assembler pack: switch to bve in 64-bit builds. 11 years ago
ppc-mont.pl 9676402c3a PPC assembly pack: remove branch hints. 8 years ago
ppc.pl 9676402c3a PPC assembly pack: remove branch hints. 8 years ago
ppc64-mont.pl 9676402c3a PPC assembly pack: remove branch hints. 8 years ago
rsaz-avx2.pl 08ea966c01 bn/asm/rsaz-avx2.pl: constant-time gather procedure. 8 years ago
rsaz-x86_64.pl 08ea966c01 bn/asm/rsaz-avx2.pl: constant-time gather procedure. 8 years ago
s390x-gf2m.pl 9f0b86c68b Conversion to UTF-8 where needed 9 years ago
s390x-mont.pl 9833757b5d s390x assembler pack update from HEAD. 12 years ago
s390x.S c6a5fddf6c bn/asm/s390x.S: improve performance on z196 and z13 by up to 26%. [even z10 is couple percent faster]. Triggered by RT#4128, but solves the problem by real modulo-scheduling. 8 years ago
sparct4-mont.pl 03c8441b14 Optimize SPARC T4 MONTMUL support. 11 years ago
sparcv8.S fccbb9b34f - performance retunes, v8plus bn_*_comba routines are reimplemented; 25 years ago
sparcv8plus.S a00e414faf Unify sparcv9 assembler naming and build rules among 32- and 64-bit builds. 18 years ago
sparcv9-gf2m.pl c92989d2b7 Add BN support for SPARC VIS3 and T4 [from master]. 11 years ago
sparcv9-mont.pl f49cf4afa0 bn/asm/sparcv9-mont.pl: fix squaring code path. 7 years ago
sparcv9a-mont.pl 673c55a2fe Latest bn_mont.c modification broke ECDSA test. I've got math wrong, which 17 years ago
via-mont.pl 673c55a2fe Latest bn_mont.c modification broke ECDSA test. I've got math wrong, which 17 years ago
vis3-mont.pl f5d840a079 bn/asm/vis3-mont.pl: fix intermittent EC failures on SPARC T3. 9 years ago
vms.mar e9883d285d Finally, a bn_div_words() in VAX assembler that goes through all tests. 21 years ago
x86-gf2m.pl 9f0b86c68b Conversion to UTF-8 where needed 9 years ago
x86-mont.pl 9c8bca1c20 bn/asm/x86[_64]-mont*.pl: implement slightly alternative page-walking. 7 years ago
x86.pl 65b8ca07a5 Tidy up asm stuff. 25 years ago
x86_64-gcc.c 2a20b6d973 crypto/bn/*: x86[_64] division instruction doesn't handle constants, change constraint from 'g' to 'r'. 7 years ago
x86_64-gf2m.pl 9f0b86c68b Conversion to UTF-8 where needed 9 years ago
x86_64-mont.pl 57c4b9f6a2 bn/asm/x86_64-mont.pl: fix for CVE-2016-7055 (Low severity). 7 years ago
x86_64-mont5.pl 760d04342a bn/asm/x86_64-mont5.pl: fix carry bug in bn_sqr8x_internal. 7 years ago

README



All assember in this directory are just version of the file
crypto/bn/bn_asm.c.

Quite a few of these files are just the assember output from gcc since on
quite a few machines they are 2 times faster than the system compiler.

For the x86, I have hand written assember because of the bad job all
compilers seem to do on it. This normally gives a 2 time speed up in the RSA
routines.

For the DEC alpha, I also hand wrote the assember (except the division which
is just the output from the C compiler pasted on the end of the file).
On the 2 alpha C compilers I had access to, it was not possible to do
64b x 64b -> 128b calculations (both long and the long long data types
were 64 bits). So the hand assember gives access to the 128 bit result and
a 2 times speedup :-).

There are 3 versions of assember for the HP PA-RISC.

pa-risc.s is the origional one which works fine and generated using gcc :-)

pa-risc2W.s and pa-risc2.s are 64 and 32-bit PA-RISC 2.0 implementations
by Chris Ruemmler from HP (with some help from the HP C compiler).