Andy Polyakov
3a97ebb16b
ARM assembly pack: get ARMv7 instruction endianness right.
...
Pointer out and suggested by: Ard Biesheuvel.
(cherry picked from commit 5dcf70a1c57c2019bfad640fe14fd4a73212860a)
2014-06-10 22:51:15 +02:00
Andy Polyakov
0fb3d5b4fd
bn/asm/armv4-gf2m.pl, modes/asm/ghash-armv4.pl: faster multiplication
...
algorithm suggested in following paper:
Câmara, D.; Gouvêa, C. P. L.; López, J. & Dahab, R.: Fast Software
Polynomial Multiplication on ARM Processors using the NEON Engine.
http://conradoplg.cryptoland.net/files/2010/12/mocrysen13.pdf
(cherry picked from commit f8cee9d08181f9e966ef01d3b69ba78b6cb7c8a8)
2014-04-24 10:27:52 +02:00
Adam Langley
45d010255f
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.
(cherry picked from commit 7753a3a68431aa81b82beea4c3f5374b41454679)
2014-02-01 22:01:46 +01:00
Andy Polyakov
7e569022c5
PPC assembly pack: ppc64-mont update from master.
2014-02-01 21:51:51 +01:00
Andy Polyakov
392fd8f89c
bn/asm/x86_64-mont5.pl: fix compilation error on Solaris.
...
(cherry picked from commit eedab5241e32f9f185cfee23a0c67264d3e3ecf2)
2014-01-09 13:47:53 +01:00
Andy Polyakov
c012f6e576
bn/asm/armv4-mont.pl: add NEON code path.
...
(cherry picked from commit d1671f4f1a39d938499c67efe5d4a14c34c09b31)
2013-12-09 22:46:29 +01:00
Andy Polyakov
cf6d55961c
crypto/bn/asm/x86_64-mont*.pl: update from master.
...
Add MULX/AD*X code paths and optimize even original code path.
2013-12-09 22:40:53 +01:00
Andy Polyakov
e5eab8a199
bn/asm/x86_64-mont5.pl: comply with Win64 ABI.
...
PR: 3189
Submitted by: Oscar Ciurana
(cherry picked from commit c5d5f5bd0fe8b2313bec844c0f80f3d49562bfa8)
2013-12-04 00:02:18 +01:00
Andy Polyakov
7bab6eb6f0
crypto/bn/asm/rsaz-x86_64.pl: make it work on Win64.
...
(cherry picked from commit 8bd7ca99961f341ce2070373e86f22505aed2b2a)
2013-12-03 22:30:00 +01:00
Andy Polyakov
87d9526d0c
crypto/bn/rsaz*: fix licensing note.
...
rsaz_exp.c: harmonize line terminating;
asm/rsaz-*.pl: minor optimizations.
asm/rsaz-x86_64.pl: sync from master.
(cherry picked from commit 31ed9a21315c571db443c68e4f618ecb51c631f9)
2013-12-03 22:17:55 +01:00
Andy Polyakov
36982f056a
bn/asm/rsaz-x86_64.pl: fix prototype.
...
(cherry picked from commit 6efef384c6f649399dcc837825a9ca5a37069733)
2013-12-03 09:44:24 +01:00
Andy Polyakov
43ce9cdde9
PPC assembly pack: update from master branch.
...
Includes multiple updates: AES module to comply with more ABI
flavors, SHA512 for PPC32, .size directives.
2013-10-15 00:31:45 +02:00
Andy Polyakov
1aecb23f5b
MIPS assembly pack: get rid of deprecated instructions.
...
Latest MIPS ISA specification declared 'branch likely' instructions
obsolete. To makes code future-proof replace them with equivalent.
(cherry picked from commit 0c2adb0a9be76da8de9bbfd5377215f71711a52e)
2013-10-13 13:18:21 +02:00
Andy Polyakov
df5c435c0b
bn/asm/rsax-avx2.pl: minor optimization [for Decoded ICache].
...
(cherry picked from commit fa104be35e24f3fea895d55bb7042d6f4b2963e9)
2013-10-10 23:09:54 +02:00
Andy Polyakov
08853158b6
crypto/bn/asm/x86_64-mont.pl: minor optimization.
...
(cherry picked from commit 72a158703bf2b33f4eba6920302941560f7a848d)
2013-09-09 21:42:48 +02:00
Andy Polyakov
f15c16200b
crypto/bn/asm/rsax-x86_64.pl: make it work on Darwin.
...
(cherry picked from commit fd8ad019e194f54fbc651897c1b3b4cc1898c6c4)
2013-08-03 16:30:40 +02:00
Andy Polyakov
82ae22ef4d
bn/asm/rsaz-avx2.pl: Windows-specific fix.
...
(cherry picked from commit 5c57c69f9ebcc933161a24d77f87f17011c9977b)
2013-07-12 19:01:23 +02:00
Ben Laurie
b56bae5126
s/rsaz_eligible/rsaz_avx2_eligible/.
...
(cherry picked from commit 852f837f5ee81f2633ddf753fa3a30661ad3835a)
2013-07-12 18:53:05 +02:00
Andy Polyakov
d5572bdc64
Add RSAZ assembly modules.
...
RT: 2582, 2850
(cherry picked from commit 0b4bb91db65697ab6d3a0fc05b140887cbce3080)
2013-07-05 21:49:19 +02:00
Andy Polyakov
e3990db59c
bn/asm/x86_86-mont.pl: optimize reduction for Intel Core family.
...
(cherry picked from commit 26e43b48a3fa72fc5d7f3aa849af3d7917deea9d)
2013-07-05 21:15:16 +02:00
Andy Polyakov
6c7fa27404
PA-RISC assembler pack: switch to bve in 64-bit builds.
...
PR: 3074
(cherry picked from commit 02450ec69dda7815ba1e7bd74eb30f0ae1eb3042)
2013-06-30 23:13:23 +02:00
Andy Polyakov
03c8441b14
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;
(cherry picked from commit 4ddacd9921f48013b5cd011e4b93b294c14db1c2)
2013-06-18 11:07:16 +02:00
Andy Polyakov
c92989d2b7
Add BN support for SPARC VIS3 and T4 [from master].
2013-05-20 15:48:13 +02:00
Andy Polyakov
2d9be79407
x86_64-gf2m.pl: fix typo.
...
(cherry picked from commit 342dbbbe4eb82b6e12163965a12f580c2deb03ad)
2013-03-01 22:37:53 +01:00
Andy Polyakov
2e4b7eede3
x86_64-gf2m.pl: add missing Windows build fix for #2963 .
...
PR: 3004
(cherry picked from commit 7c43601d4424575d589f028aed0d5a4ae337527f)
2013-03-01 21:57:25 +01:00
Andy Polyakov
2e7900b624
x86_64 assembly pack: keep making Windows build more robust.
...
PR: 2963 and a number of others
(cherry picked from commit 4568182a8b8cbfd15cbc175189029ac547bd1762)
2013-02-02 19:56:43 +01:00
Andy Polyakov
3f233a1e77
x86_64 assembly pack: make Windows build more robust [from master].
...
PR: 2963 and a number of others
2013-01-22 22:51:29 +01:00
Andy Polyakov
b17ffba915
bn/asm/mips.pl: hardwire local call to bn_div_words.
2013-01-22 21:16:02 +01:00
Andy Polyakov
a060fc3b8e
x86_64-gcc.c: resore early clobber constraint [from HEAD].
...
Submitted by: Florian Weimer
2012-11-19 15:02:34 +00:00
Andy Polyakov
0e05b51fe5
Add linux-x32 target [from HEAD].
2012-08-29 14:12:10 +00:00
Andy Polyakov
8e1c33e160
MIPS assembly pack updates from HEAD.
2012-08-17 09:41:30 +00:00
Andy Polyakov
8b654459be
x86_64 assembly pack: make it possible to compile with Perl located
...
on path with spaces [from HEAD].
PR: 2835
2012-06-27 12:48:50 +00:00
Andy Polyakov
7b467c6b81
modexp512-x86_64.pl: Solaris portability fix [from HEAD].
...
PR: 2656
2011-12-12 15:12:09 +00:00
Andy Polyakov
8ee0591f28
x86-mont.pl: fix bug in integer-only squaring path.
...
PR: 2648
2011-12-09 14:26:28 +00:00
Andy Polyakov
62f685a9cd
bn/asm/mips.pl: fix typos [from HEAD].
2011-12-01 12:17:20 +00:00
Andy Polyakov
2357ae17e7
x86 assembler pack update from HEAD.
2011-11-14 21:06:50 +00:00
Andy Polyakov
70b52222f5
x86_64 assembler pack update from HEAD.
2011-11-14 21:01:21 +00:00
Andy Polyakov
88cb59727c
ARM assembler pack update from HEAD.
2011-11-14 20:58:01 +00:00
Andy Polyakov
b66723b23e
MIPS assembler pack update from HEAD.
2011-11-14 20:55:24 +00:00
Andy Polyakov
cf96d71c22
PPC assembler pack update from HEAD.
2011-11-14 20:54:17 +00:00
Andy Polyakov
1a111921da
PA-RISC assembler pack update from HEAD.
2011-11-14 20:50:15 +00:00
Andy Polyakov
9833757b5d
s390x assembler pack update from HEAD.
2011-11-14 20:47:22 +00:00
Andy Polyakov
4195343c0d
IA64 assembler pack update from HEAD.
2011-11-14 20:45:57 +00:00
Andy Polyakov
02597f2885
ppc.pl: fix bug in bn_mul_comba4 [from HEAD].
...
PR: 2636
Submitted by: Charles Bryant
2011-11-05 10:16:30 +00:00
Andy Polyakov
2bfb23f102
modexp512-x86_64.pl: make it work with ml64 [from HEAD].
2011-08-19 06:31:27 +00:00
Andy Polyakov
8ff5c8874f
Alpha assembler fixed from HEAD.
...
PR: 2577
2011-08-12 12:31:08 +00:00
Andy Polyakov
1190d3f442
Add RSAX builtin engine [from HEAD].
2011-07-20 21:51:33 +00:00
Andy Polyakov
2bbd82cf24
s390x-mont.pl: optimize for z196.
2011-03-04 13:13:04 +00:00
Andy Polyakov
7665b436f0
s390x.S: fix typo in bn_mul_words [from HEAD].
...
PR: 2380
2010-11-22 21:57:29 +00:00
Andy Polyakov
9e15cc606e
Alpha assembler pack: adapt for Linux [from HEAD].
...
PR: 2335
2010-09-13 20:32:53 +00:00