openssl/crypto/bn/asm
Andy Polyakov 9676402c3a PPC assembly pack: remove branch hints.
As it turns out branch hints grew as kind of a misconception. In
addition their interpretation by GNU assembler is affected by
assembler flags and can end up with opposite meaning on different
processors. As we have to loose quite a lot on misinterprerations,
especially on newer processors, we just omit them altogether.

Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 20b88bb160)
2016-04-07 21:29:57 +02:00
..
x86
alpha-mont.pl
armv4-gf2m.pl Conversion to UTF-8 where needed 2015-07-14 01:17:45 +02:00
armv4-mont.pl Remove inconsistency in ARM support. 2015-01-06 11:14:23 +01:00
bn-586.pl
co-586.pl
ia64-mont.pl
ia64.S Fix typos 2015-10-23 20:32:58 +02:00
mips-mont.pl MIPS assembly pack: get rid of deprecated instructions. 2013-10-13 13:18:21 +02:00
mips.pl Fix for CVE-2014-3570 (with minor bn_asm.c revamp). 2015-01-08 11:20:29 +00:00
mips3-mont.pl
mips3.s
pa-risc2.s
pa-risc2W.s
parisc-mont.pl PA-RISC assembler pack: switch to bve in 64-bit builds. 2013-06-30 23:13:23 +02:00
ppc-mont.pl PPC assembly pack: remove branch hints. 2016-04-07 21:29:57 +02:00
ppc.pl PPC assembly pack: remove branch hints. 2016-04-07 21:29:57 +02:00
ppc64-mont.pl PPC assembly pack: remove branch hints. 2016-04-07 21:29:57 +02:00
README
rsaz-avx2.pl bn/asm/rsaz-avx2.pl: constant-time gather procedure. 2016-03-01 11:21:22 +00:00
rsaz-x86_64.pl bn/asm/rsaz-avx2.pl: constant-time gather procedure. 2016-03-01 11:21:22 +00:00
s390x-gf2m.pl Conversion to UTF-8 where needed 2015-07-14 01:17:45 +02:00
s390x-mont.pl s390x assembler pack update from HEAD. 2011-11-14 20:47:22 +00:00
s390x.S 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. 2015-11-16 13:11:27 +01:00
sparct4-mont.pl Optimize SPARC T4 MONTMUL support. 2013-06-18 11:07:16 +02:00
sparcv8.S
sparcv8plus.S
sparcv9-gf2m.pl Add BN support for SPARC VIS3 and T4 [from master]. 2013-05-20 15:48:13 +02:00
sparcv9-mont.pl
sparcv9a-mont.pl
via-mont.pl
vis3-mont.pl bn/asm/vis3-mont.pl: fix intermittent EC failures on SPARC T3. 2015-05-24 13:26:37 +02:00
vms.mar
x86-gf2m.pl Conversion to UTF-8 where needed 2015-07-14 01:17:45 +02:00
x86-mont.pl bn/asm/x86[_64]-mont*.pl: complement alloca with page-walking. 2016-03-07 15:03:26 +01:00
x86.pl
x86_64-gcc.c Conversion to UTF-8 where needed 2015-07-14 01:17:45 +02:00
x86_64-gf2m.pl Conversion to UTF-8 where needed 2015-07-14 01:17:45 +02:00
x86_64-mont.pl bn/asm/x86[_64]-mont*.pl: complement alloca with page-walking. 2016-03-07 15:03:26 +01:00
x86_64-mont5.pl bn/asm/x86[_64]-mont*.pl: complement alloca with page-walking. 2016-03-07 15:03:26 +01:00

<OBSOLETE>

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).

</OBSOLETE>