Andy Polyakov 2e691f8fa8 FIPS MIPS assembly pack refresh. 8 years ago
..
x86 dfeab0689f Import of old SSLeay release: SSLeay 0.9.1b (unreleased) 26 years ago
.cvsignore 4bb61becbb Add emacs cache files to .cvsignore. 19 years ago
README 09f4bd2a39 Very few in the "README" is up-to-date 24 years ago
alpha-mont.pl 20735f4c81 alphacpuid.pl: fix alignment bug. 13 years ago
armv4-gf2m.pl 874faf2ffb Adapt ARM assembly pack for iOS. 9 years ago
armv4-mont.pl 874faf2ffb Adapt ARM assembly pack for iOS. 9 years ago
bn-586.pl 4d1f3f7a6c Update perl asm scripts include paths for perlasm. 17 years ago
bn-c64xplus.asm c616200172 Add support for Windows CE and C64+ to FIPS module. 12 years ago
c64xplus-gf2m.pl c616200172 Add support for Windows CE and C64+ to FIPS module. 12 years ago
co-586.pl 4d1f3f7a6c Update perl asm scripts include paths for perlasm. 17 years ago
ia64-mont.pl 56c5f703c1 IA-64 assembler pack: fix typos and make it work on HP-UX. 13 years ago
ia64.S 7cfe2a5e65 Fix Intel assembler warnings. 19 years ago
mips-mont.pl 2e691f8fa8 FIPS MIPS assembly pack refresh. 8 years ago
mips.pl 2e691f8fa8 FIPS MIPS assembly pack refresh. 8 years ago
modexp512-x86_64.pl 6c01cbb6a0 modexp512-x86_64.pl: make it work with ml64. 13 years ago
pa-risc2.s 04945fda66 pa-risc2.s was not PIC, see RT#426. I strip call to fprintf as it's 22 years ago
pa-risc2W.s 6df3553255 A compiler warning removed. Thanks to the folks at HP! 24 years ago
parisc-mont.pl 964ed94649 parisc-mont.pl: PA-RISC 2.0 code path optimization based on intruction- 15 years ago
ppc-mont.pl 894c04aa05 PowerPC assembly pack: add POWER8 support. 8 years ago
ppc.pl 894c04aa05 PowerPC assembly pack: add POWER8 support. 8 years ago
ppc64-mont.pl 894c04aa05 PowerPC assembly pack: add POWER8 support. 8 years ago
s390x-gf2m.pl 02a73e2bed s390x-gf2m.pl: commentary update (final performance numbers turned to be 13 years ago
s390x-mont.pl 0ab8fd58e1 s390x assembler pack: tune-up and support for new z196 hardware. 13 years ago
s390x.S dd128715a2 s390x.S: fix typo in bn_mul_words. 14 years ago
sparcv8.S fccbb9b34f - performance retunes, v8plus bn_*_comba routines are reimplemented; 25 years ago
sparcv8plus.S ae8b47f07f SPARC assembler pack: fix FIPS linking errors. 13 years ago
sparcv9-mont.pl 673c55a2fe Latest bn_mont.c modification broke ECDSA test. I've got math wrong, which 17 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
vms.mar e9883d285d Finally, a bn_div_words() in VAX assembler that goes through all tests. 22 years ago
x86-gf2m.pl 2b9a8ca15b x86gas.pl: add palignr and move pclmulqdq. 13 years ago
x86-mont.pl 673c55a2fe Latest bn_mont.c modification broke ECDSA test. I've got math wrong, which 17 years ago
x86.pl 65b8ca07a5 Tidy up asm stuff. 26 years ago
x86_64-gcc.c 949c6f8ccf Stop warnings. 13 years ago
x86_64-gf2m.pl 96abea332c x86_64-gf2m.pl: add Win64 SEH. 13 years ago
x86_64-mont.pl 3f66f2040a x86_64-mont.pl: minor optimization. 13 years ago
x86_64-mont5.pl 8329e2e776 bn_exp.c: further optimizations using more ideas from 13 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).