Ben Laurie
852f837f5e
s/rsaz_eligible/rsaz_avx2_eligible/.
2013-07-12 12:47:39 +01:00
Andy Polyakov
0b4bb91db6
Add RSAZ assembly modules.
...
RT: 2582, 2850
2013-07-05 21:30:18 +02:00
Andy Polyakov
26e43b48a3
bn/asm/x86_86-mont.pl: optimize reduction for Intel Core family.
2013-07-05 21:10:56 +02:00
Andy Polyakov
4ddacd9921
Optimize SPARC T4 MONTMUL support.
...
Improve RSA sing performance by 20-30% by:
- switching from floating-point to integer conditional moves;
- daisy-chaining sqr-sqr-sqr-sqr-sqr-mul sequences;
- using MONTMUL even during powers table setup;
2013-06-18 10:39:38 +02:00
Andy Polyakov
02450ec69d
PA-RISC assembler pack: switch to bve in 64-bit builds.
...
PR: 3074
2013-06-18 10:37:00 +02:00
Adam Langley
7753a3a684
Add volatile qualifications to two blocks of inline asm to stop GCC from
...
eliminating them as dead code.
Both volatile and "memory" are used because of some concern that the compiler
may still cache values across the asm block without it, and because this was
such a painful debugging session that I wanted to ensure that it's never
repeated.
2013-06-04 18:46:25 +01:00
Andy Polyakov
342dbbbe4e
x86_64-gf2m.pl: fix typo.
2013-03-01 22:36:36 +01:00
Andy Polyakov
7c43601d44
x86_64-gf2m.pl: add missing Windows build fix for #2963 .
...
PR: 3004
2013-03-01 21:43:10 +01:00
Andy Polyakov
4568182a8b
x86_64 assembly pack: keep making Windows build more robust.
...
PR: 2963 and a number of others
2013-02-02 19:54:59 +01:00
Andy Polyakov
46bf83f07a
x86_64 assembly pack: make Windows build more robust.
...
PR: 2963 and a number of others
2013-01-22 22:27:28 +01:00
Andy Polyakov
543fd85460
bn/asm/mips.pl: hardwire local call to bn_div_words.
2013-01-22 21:13:37 +01:00
Andy Polyakov
904732f68b
C64x+ assembly pack: improve EABI support.
2012-11-28 13:19:10 +00:00
Andy Polyakov
9f6b0635ad
x86_64-gcc.c: resore early clobber constraint.
...
Submitted by: Florian Weimer
2012-11-19 15:02:00 +00:00
Andy Polyakov
68c06bf6b2
Support for SPARC T4 MONT[MUL|SQR] instructions.
...
Submitted by: David Miller, Andy Polyakov
2012-11-17 10:34:11 +00:00
Andy Polyakov
1efd583085
SPARCv9 assembly pack: harmonize ABI handling (so that it's handled in one
...
place at a time, by pre-processor in .S case and perl - in .s).
2012-10-25 12:07:32 +00:00
Andy Polyakov
0c832ec5c6
Add VIS3-capable sparcv9-gf2m module.
2012-10-20 15:59:14 +00:00
Andy Polyakov
947d78275b
Add VIS3 Montgomery multiplication.
2012-10-20 09:13:21 +00:00
Andy Polyakov
be0d31b166
Add linux-x32 target.
2012-08-29 14:08:46 +00:00
Andy Polyakov
1a002d88ad
MIPS assembly pack: assign default value to $flavour.
2012-08-17 09:10:31 +00:00
Andy Polyakov
6251989eb6
x86_64 assembly pack: make it possible to compile with Perl located on
...
path with spaces.
PR: 2835
2012-06-27 10:08:23 +00:00
Andy Polyakov
3e181369dd
C64x+ assembler pack. linux-c64xplus build is *not* tested nor can it be
...
tested, because kernel is not in shape to handle it *yet*. The code is
committed mostly to stimulate the kernel development.
2012-04-18 13:01:36 +00:00
Andy Polyakov
8c98b2591f
modexp512-x86_64.pl: Solaris protability fix.
...
PR: 2656
2011-12-12 15:10:14 +00:00
Andy Polyakov
5711dd8eac
x86-mont.pl: fix bug in integer-only squaring path.
...
PR: 2648
2011-12-09 14:21:25 +00:00
Andy Polyakov
6600126825
bn/asm/mips.pl: fix typos.
2011-12-01 12:16:09 +00:00
Andy Polyakov
29fd6746f5
armv4cpuid.S, armv4-gf2m.pl: make newest code compilable by older assembler.
2011-11-05 13:07:18 +00:00
Andy Polyakov
09f40a3cb9
ppc.pl: fix bug in bn_mul_comba4.
...
PR: 2636
Submitted by: Charles Bryant
2011-11-05 10:16:04 +00:00
Andy Polyakov
a9cf0b81fa
Remove superseded MIPS assembler modules.
2011-10-19 21:42:21 +00:00
Andy Polyakov
8329e2e776
bn_exp.c: further optimizations using more ideas from
...
http://eprint.iacr.org/2011/239 .
2011-10-17 17:41:49 +00:00
Andy Polyakov
3f66f2040a
x86_64-mont.pl: minor optimization.
2011-10-17 17:39:59 +00:00
Bodo Möller
cdfe0fdde6
Fix OPENSSL_BN_ASM_MONT5 for corner cases; add a test.
...
Submitted by: Emilia Kasper
2011-10-13 12:35:10 +00:00
Andy Polyakov
6c01cbb6a0
modexp512-x86_64.pl: make it work with ml64.
2011-08-19 06:30:32 +00:00
Andy Polyakov
e7d1363d12
x86_64-mont5.pl: add missing Win64 support.
2011-08-14 09:06:06 +00:00
Andy Polyakov
10bd69bf4f
armv4-mont.pl: profiler-assisted optimization gives 8%-14% improvement
...
(more for longer keys) on RSA/DSA.
2011-08-13 12:38:41 +00:00
Andy Polyakov
ae8b47f07f
SPARC assembler pack: fix FIPS linking errors.
2011-08-12 21:38:19 +00:00
Andy Polyakov
361512da0d
This commit completes recent modular exponentiation optimizations on
...
x86_64 platform. It targets specifically RSA1024 sign (using ideas
from http://eprint.iacr.org/2011/239 ) and adds more than 10% on most
platforms. Overall performance improvement relative to 1.0.0 is ~40%
in average, with best result of 54% on Westmere. Incidentally ~40%
is average improvement even for longer key lengths.
2011-08-12 16:44:32 +00:00
Andy Polyakov
20735f4c81
alphacpuid.pl: fix alignment bug.
...
alpha-mont.pl: fix typo.
PR: 2577
2011-08-12 12:28:52 +00:00
Andy Polyakov
85ec54a417
x86_64-mont.pl: futher optimization resulting in up to 48% improvement
...
(4096-bit RSA sign benchmark on Core2) in comparison to initial version
from 2005.
2011-08-09 13:05:05 +00:00
Andy Polyakov
be9a8cc2af
Add RSAX builtin engine. It optimizes RSA1024 sign benchmark.
2011-07-20 21:49:46 +00:00
Andy Polyakov
87873f4328
ARM assembler pack: add platform run-time detection.
2011-07-17 17:40:29 +00:00
Andy Polyakov
6179f06077
x86_64-mont.pl: add squaring procedure and improve RSA sign performance
...
by up to 38% (4096-bit benchmark on Core2).
2011-07-05 09:21:03 +00:00
Andy Polyakov
02a73e2bed
s390x-gf2m.pl: commentary update (final performance numbers turned to be
...
higher).
2011-07-04 11:20:33 +00:00
Andy Polyakov
0c237e42a4
s390x assembler pack: add s390x-gf2m.pl and harmonize AES_xts_[en|de]crypt.
2011-06-27 10:00:31 +00:00
Andy Polyakov
6715034002
PPC assembler pack: adhere closer to ABI specs, add PowerOpen traceback data.
2011-05-27 13:32:34 +00:00
Andy Polyakov
96abea332c
x86_64-gf2m.pl: add Win64 SEH.
2011-05-22 18:29:11 +00:00
Andy Polyakov
2b9a8ca15b
x86gas.pl: add palignr and move pclmulqdq.
2011-05-16 18:07:00 +00:00
Andy Polyakov
afebe623c5
x86_64 assembler pack: add x86_64-gf2m module.
2011-05-16 17:46:45 +00:00
Andy Polyakov
56c5f703c1
IA-64 assembler pack: fix typos and make it work on HP-UX.
2011-05-07 20:36:05 +00:00
Andy Polyakov
58cc21fdea
x86 assembler pack: add bn_GF2m_mul_2x2 implementations (see x86-gf2m.pl for
...
details and performance data).
2011-05-07 10:31:06 +00:00
Andy Polyakov
925596f85b
ARM assembler pack: engage newly introduced armv4-gf2m module.
2011-05-05 21:57:11 +00:00
Andy Polyakov
75359644d0
ARM assembler pack. Add bn_GF2m_mul_2x2 implementation (see source code
...
for details and performance data).
2011-05-05 07:21:17 +00:00