Andy Polyakov
34736de4c0
Flip saved argument block and tp [required for non-SSE2 path].
2005-10-14 16:05:21 +00:00
Andy Polyakov
5f50d597f2
Make sure x86-mont.pl returns zero even if compiled with no-sse2.
2005-10-14 15:24:06 +00:00
Andy Polyakov
35593b33f4
Add timestamp to x86-mont.pl.
2005-10-09 10:26:56 +00:00
Andy Polyakov
54f3d200d3
Throw in bn/asm/x86-mont.pl Montgomery multiplication "teaser".
2005-10-09 09:53:58 +00:00
Andy Polyakov
7a2f4cbfe8
x86_64-mont.pl readability improvement.
2005-10-07 15:18:16 +00:00
Andy Polyakov
5ac7bde7c9
Throw in Montgomery multiplication assembler for x86_64.
2005-10-07 14:18:06 +00:00
Andy Polyakov
6f9afa68cd
IA-32 BN tune-up. Performance imrpovement varies with platform and
...
keylength, this time larger improvement for shorter keys, and reaches
15%. Both SSE2 and IALU code pathes are improved.
2005-09-20 12:26:54 +00:00
Andy Polyakov
7cfe2a5e65
Fix Intel assembler warnings.
2005-08-10 08:28:36 +00:00
Andy Polyakov
ef428d5681
Fix unwind directives in IA-64 assembler modules. This helps symbolic
...
debugging and doesn't affect functionality.
Submitted by: David Mosberger
Obtained from: http://www.hpl.hp.com/research/linux/crypto/
2005-07-18 09:54:14 +00:00
Andy Polyakov
31efffbdba
Trap condition should be 64-bit when it's due.
2005-07-03 09:17:50 +00:00
Andy Polyakov
aaa5dc614f
More elegant solution to "sparse decimal printout on PPC" problem.
2005-07-02 08:58:55 +00:00
Andy Polyakov
8be97c01d1
Decimal printout of a BN is wrong on PPC, it's sparse with very few
...
significant digits. As soon it verifies elsewhere it goes to 0.9.8 and
0.9.7.
2005-07-01 17:49:47 +00:00
Richard Levitte
4bb61becbb
Add emacs cache files to .cvsignore.
2005-04-11 14:17:07 +00:00
Andy Polyakov
60fd574cdf
Make bn/asm/x86_64-gcc.c gcc4 savvy. +r is likely to be initially
...
introduced for a reason [like bug in initial gcc port], but proposed
=&r is treated correctly by senior 3.2, so we can assume it's safe now.
PR: 1031
2005-04-03 18:53:29 +00:00
Andy Polyakov
da30c74a27
Remove unused assembler modules.
2005-02-06 13:43:02 +00:00
Andy Polyakov
2b247cf81f
OPENSSL_ia32cap final touches. Note that OPENSSL_ia32cap is no longer a
...
symbol, but a macro expanded as (*(OPENSSL_ia32cap_loc())). The latter
is the only one to be exported to application.
2004-08-29 16:36:05 +00:00
Andy Polyakov
859ceeeb51
Anchor AES and SHA-256/-512 assembler from C.
2004-07-18 17:26:01 +00:00
Andy Polyakov
e2f2a9af2c
New scalable bn_mul_add_words loop, which provides up to >20% overall
...
performance improvement. Make module more gcc friendly and clarify
copyright issues for division routine.
2004-07-01 11:10:38 +00:00
Andy Polyakov
1809e858bb
Eliminate compiler warnings and throw in performance table.
2004-05-28 10:15:58 +00:00
Andy Polyakov
d3adc3d3ed
SSE2 accelerated bn_mul_add_words. Code is currently disabled till proper
...
config and run-time support is added.
PR: 788
Submitted by: <dean@arctic.org>
Reviewed by: <appro>
Obtained from: http://arctic.org/~dean/crypto/rsa.html
2004-05-06 10:36:49 +00:00
Andy Polyakov
dd55880644
Improved PowerPC support. Proper ./config support for ppc targets,
...
especially for AIX. But most important BIGNUM assembler implementation
submitted by IBM.
Submitted by: Peter Waltenberg <pwalten@au1.ibm.com>
Reviewed by: appro
2004-04-27 22:05:50 +00:00
Andy Polyakov
1751034669
Typo in crypto/bn/asm/x86_64.c, bn_div_words().
...
PR: 821
2004-02-07 09:51:28 +00:00
Andy Polyakov
722d17cbac
This is an *initial* tune-up. This update puts Itanium2 back on par with
...
Itanium. I mean if overall performance improvement over C version was X
for Itanium, it's X even for Itanium2.
2003-01-19 21:29:59 +00:00
Richard Levitte
2f09524501
A few more files to ignore
2003-01-16 21:32:56 +00:00
Andy Polyakov
46a0d4fbcb
Support for ILP32 on HPUX-IA64.
2003-01-03 15:10:46 +00:00
Andy Polyakov
04945fda66
pa-risc2.s was not PIC, see RT#426. I strip call to fprintf as it's
...
never called anyway (it's a debugging assertion). If pa-risc2W.s is
PIC remains to be seen...
2003-01-03 10:52:40 +00:00
Richard Levitte
e9883d285d
Finally, a bn_div_words() in VAX assembler that goes through all tests.
...
PR: 413
2002-12-23 11:25:51 +00:00
Richard Levitte
9b58214e4a
More accurate comments.
2002-12-20 16:38:36 +00:00
Andy Polyakov
2f98abbcb6
x86_64 performance patch.
2002-12-14 20:42:05 +00:00
Richard Levitte
6ab285bf4c
I think I got it now. Apparently, the case of having to shift down
...
the divisor was a bit more complex than I first saw. The lost bit
can't just be discarded, as there are cases where it is important.
For example, look at dividing 320000 with 80000 vs. 80001 (all
decimals), the difference is crucial. The trick here is to check if
that lost bit was 1, and in that case, do the following:
1. subtract the quotient from the remainder
2. as long as the remainder is negative, add the divisor (the whole
divisor, not the shofted down copy) to it, and decrease the
quotient by one.
There's probably a nice mathematical proof for this already, but I
won't bother with that, unless someone requests it from me.
2002-12-02 21:31:45 +00:00
Richard Levitte
1d3159bcca
Make some names consistent.
2002-12-02 02:40:27 +00:00
Richard Levitte
f60ceb54eb
Through some experimentation and thinking, I think I finally got the
...
proper implementation of bn_div_words() for VAX.
If the tests go through well, the next step will be to test on Alpha.
2002-12-02 02:28:27 +00:00
Richard Levitte
0f995b2f40
Small bugfix: even when r == d, we need to adjust r and q.
...
PR: 366
2002-12-01 02:17:23 +00:00
Richard Levitte
a678430602
Redo the VAX assembler version of bn_div_words().
...
PR: 366
2002-12-01 00:49:36 +00:00
Andy Polyakov
622d3d3592
Support for Intel and HP-UXi assemblers.
2001-07-30 15:54:13 +00:00
Andy Polyakov
19a6e8b32c
This fixes "Spurious test failures on IRIX?" reported in April. Apparently
...
I was wrong in conclusions about when addition starts overflowing in combaX
routines.
2001-06-22 19:17:42 +00:00
Andy Polyakov
52c0d30078
Get rid of "possible WAW dependency" warnings.
...
Submitted by:
Reviewed by:
PR:
2001-06-11 12:47:52 +00:00
Andy Polyakov
a95541d61e
Get rid of RAW dependency warnings.
...
Submitted by:
Reviewed by:
PR:
2001-05-30 22:01:33 +00:00
Andy Polyakov
4cb73bf8e4
Assembler support for IA-64. See the source code commentary for further
...
details (performance numbers and accompanying discussions:-). Note that
the code is not engaged in ./Configure yet. I'll add it later this week
along with updates for .spec file.
Submitted by:
Reviewed by:
PR:
2001-05-28 20:02:51 +00:00
Richard Levitte
81b5eeed6a
branch on equal is beql, not beq...
2001-05-14 22:10:09 +00:00
Andy Polyakov
500230ee94
The IRIX fix. Asm recap and corresponding declation.
...
Submitted by:
Reviewed by:
PR:
2001-03-27 22:30:46 +00:00
Richard Levitte
754d494bef
Bug fixes.
2001-03-09 01:13:23 +00:00
Bodo Möller
09f4bd2a39
Very few in the "README" is up-to-date
2000-12-15 10:42:11 +00:00
Ulf Möller
3bb4736289
remove a comment that shouldn't have been there any more
2000-12-06 16:30:23 +00:00
Ulf Möller
a6576c56dd
remove useless instruction
2000-12-06 04:48:50 +00:00
Ulf Möller
240f516939
Intel assembler version for bn_sub_part_words(). I haven't got
...
reliable timings yet, please try it out!
2000-12-06 04:16:38 +00:00
Richard Levitte
73343ac38a
Correct a number of syntax errors.
2000-11-22 18:20:31 +00:00
Richard Levitte
c4f3542abf
Reimplement bn_div_words, bn_add_words and bn_sub_words for VAX.
...
I'm a little bit nervous about bn_div_words, as I don't know what it's
supposed to return on overflow. For now, I trust the rest of the
system to give it numbers that will not cause any overflow...
2000-11-21 23:32:38 +00:00
Richard Levitte
6df3553255
A compiler warning removed. Thanks to the folks at HP!
2000-09-27 13:54:28 +00:00
Richard Levitte
d0c2ebf414
A patch from HP for better performance.
...
Submitted by Kevin Steves <ks@hp.se> 3 months ago...
2000-09-17 20:04:42 +00:00