Andy Polyakov
e95e22af50
aes/asm/aesni-x86[_64].pl update.
...
This addresses
- request for improvement for faster key setup in RT#3576;
- clearing registers and stack in RT#3554 (this is more of a gesture to
see if there will be some traction from compiler side);
- more commentary around input parameters handling and stack layout
(desired when RT#3553 was reviewed);
- minor size and single block performance optimization (was lying around);
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 23f6eec71dbd472044db7dc854599f1de14a1f48)
2015-04-20 15:44:36 +02:00
Andy Polyakov
5a27a20be3
aes/asm/aesv8-armx.pl: optimize for Cortex-A5x.
...
ARM has optimized Cortex-A5x pipeline to favour pairs of complementary
AES instructions. While modified code improves performance of post-r0p0
Cortex-A53 performance by >40% (for CBC decrypt and CTR), it hurts
original r0p0. We favour later revisions, because one can't prevent
future from coming. Improvement on post-r0p0 Cortex-A57 exceeds 50%,
while new code is not slower on r0p0, or Apple A7 for that matter.
[Update even SHA results for latest Cortex-A53.]
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit 94376cccb4ed5b376220bffe0739140ea9dad8c8)
2015-04-02 09:51:24 +02:00
Andy Polyakov
2fc2649173
Fix macosx-ppc build (and typos in unwind info).
...
Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit c462a6817bb05a4c8dded1aa9fa3aa8fd7e176bf)
2015-01-22 12:15:34 +01:00
Andy Polyakov
2d63d0c84a
Fix irix-cc build.
...
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit e464403d0bda2f1f74eb68582e4988e591c32433)
2015-01-07 18:41:17 +01:00
Andy Polyakov
f4868c9921
Remove inconsistency in ARM support.
...
This facilitates "universal" builds, ones that target multiple
architectures, e.g. ARMv5 through ARMv7. See commentary in
Configure for details.
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit c1669e1c205dc8e695fb0c10a655f434e758b9f7)
2015-01-06 11:14:23 +01:00
Andy Polyakov
3e3cc471c2
aesni-x86_64.pl: make ECB subroutine Windows ABI compliant.
...
RT: 3553
Reviewed-by: Emilia Kasper <emilia@openssl.org>
(cherry picked from commit 69d5747f90136aa026a96204f26ab39549dfc69b)
2014-10-15 11:12:24 +02:00
Andy Polyakov
9dd6240201
x86[_64] assembly pack: add Silvermont performance data.
...
Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit b59f92e75d334c9281082a02faa6c68afb614fd2)
2014-08-30 19:14:49 +02:00
Andy Polyakov
c991d8ae8b
Initial POWER8 support from development branch.
...
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
2014-07-20 14:36:49 +02:00
Andy Polyakov
371feee876
x86_64 assembly pack: improve masm support.
...
(cherry picked from commit 1b0fe79f3ee27ebd20510da3af9ec04c6ee0f800)
2014-07-09 22:46:13 +02:00
Andy Polyakov
377551b9c4
x86_64 assembly pack: refine clang detection.
...
(cherry picked from commit a356e488ad50ca9de3fc4955839441c5aff11ed3)
Resolved conflicts:
crypto/bn/asm/rsaz-avx2.pl
2014-06-28 17:26:03 +02:00
Andy Polyakov
52f856526c
x86_64 assembly pack: addendum to last clang commit.
...
(cherry picked from commit 7eb048828008f195fb6edceb8f767622694e7426)
2014-06-27 22:55:22 +02:00
Andy Polyakov
912f08dd5e
x86_64 assembly pack: allow clang to compile AVX code.
...
(cherry picked from commit ac171925ab527a55fbb27872ff69af94f7ec995b)
2014-06-27 22:55:07 +02:00
Andy Polyakov
1536bcfd56
aesv8-armx.pl: rigid input verification in key setup.
...
(cherry picked from commit 7b8c8c4d7973f17bbbee45d4718224c5853d9dc7)
2014-06-25 22:12:08 +02:00
Andy Polyakov
a073ceeff4
aesv8-armx.pl: inclrease interleave factor.
...
This is to compensate for higher aes* instruction latency on Cortex-A57.
(cherry picked from commit 015364baf3328b93dbed2613e59170715a2a11a6)
2014-06-24 08:10:37 +02:00
Andy Polyakov
d940b3b9c7
aesni-sha[1|256]-x86_64.pl: fix logical error and MacOS X build.
...
(cherry picked from commit 9024b84b7c9a36f75bffc5c77cc86bbe2911653e)
2014-06-16 10:12:56 +02:00
Andy Polyakov
8301245a5e
aesni-sha256-x86_64.pl: add missing rex in shaext.
...
PR: 3405
(cherry picked from commit 91a6bf80f8af5fcafececc443e7fbc7981af127b)
2014-06-14 16:04:04 +02:00
Andy Polyakov
56ba280ccd
Facilitate back-porting of AESNI and SHA modules.
...
Fix SEH and stack handling in Win64 build.
(cherry picked from commit 977f32e85241cba8be53e44dade32231e8a91718)
2014-06-12 21:51:35 +02:00
Andy Polyakov
70fddbe32a
Add support for Intel SHA extension.
...
(cherry picked from commit 619b94667cc7a097f6d1e2123c4f4c2c85afb8f7)
2014-06-11 10:30:31 +02:00
Andy Polyakov
9af4cb3d3b
Add AES module for ARMv8 Crypto Extension [from HEAD].
2014-06-11 00:06:27 +02:00
Andy Polyakov
56d973709c
aesni-mb-x86_64.pl: add Win64 SEH.
...
(cherry picked from commit e2eabed110b6d88fd15ac3063cab23dcd5090b44)
2014-06-10 23:09:04 +02:00
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
c90c694bc4
vpaes-ppc.pl: comply with ABI.
...
(cherry picked from commit b83d09f5528990364e0f7ed498eb8a9b56d95b58)
2014-05-23 20:16:21 +02:00
Andy Polyakov
ffdff9f12f
aes/asm/bsaes-x86_64.pl: Atom-specific optimization.
...
(cherry picked from commit 558ff0f0c1d87d74e70b0a70ddd67c0ff7f596ad)
2014-04-24 10:14:46 +02:00
Andy Polyakov
dacb698ada
vpaes-[x86_64|ppc].pl: fix typo, which for some reason triggers rkhunter.
...
(cherry picked from commit 6eebcf345933694e08aba400faf6f639fb4db196)
2014-04-06 12:53:17 +02:00
Andy Polyakov
aa1bb606f3
aes/asm/vpaes-ppc.pl: fix traceback info.
...
(cherry picked from commit e704741bf3ce02c7dbcd9b81c4df257b3d919f7e)
2014-02-25 20:13:41 +01:00
Andy Polyakov
2d4d9623da
aes/asm/aesni-x86[_64].pl: minor Atom-specific performance tweak.
...
(cherry picked from commit 214368ffee5736836e2dbb80a16a4fbd85f0eaf9)
2014-02-21 12:15:07 +01:00
Andy Polyakov
b347341c75
aes/asm/aesni-x86_64.pl: further optimization for Atom Silvermont.
...
Improve CBC decrypt and CTR by ~13/16%, which adds up to ~25/33%
improvement over "pre-Silvermont" version. [Add performance table to
aesni-x86.pl].
(cherry picked from commit 5599c7331b90d9d29c9914c2a95c16d91485415a)
2014-02-14 17:17:39 +01:00
Andy Polyakov
41c373fa3e
[aesni|sha*]-mb-x86_64.pl: add multi-block assembly modules [from master].
2014-02-05 14:33:44 +01:00
Andy Polyakov
50f1b47c7f
PPC assembly pack: jumbo update from master.
...
Add Vector Permutation AES and little-endian support.
2014-02-01 21:48:31 +01:00
Andy Polyakov
5572bc4e2f
crypto/aes/asm/aesni-x86[_64].pl: jumbo update from master.
2014-02-01 21:27:46 +01:00
Andy Polyakov
729d334106
crypto/sha/asm/sha1-x86_64.pl: jumbo update from master.
2014-02-01 21:24:55 +01:00
Andy Polyakov
acd9121085
aesni-sha1-x86_64.pl: harmonize [Atom-specific optimizations] with master branch.
2014-01-04 17:42:13 +01:00
Andy Polyakov
b76310ba74
ARM assembly pack: AES update from master (including bit-sliced module).
2013-12-09 23:44:45 +01:00
Andy Polyakov
e41a49c625
PPC assembly pack: make new .size directives profiler-friendly.
...
Suggested by: Anton Blanchard
(cherry picked from commit 76c15d790e07f6cc098be2d7b7f6ddc8acd11ca6)
2013-10-15 23:42:18 +02: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
9ed6fba2b4
aes/asm/bsaes-x86_64.pl: update from master.
...
Performance improvement and Windows-specific bugfix (PR#3139).
2013-10-12 21:47:54 +02:00
Andy Polyakov
fccec89084
aesni-sha256-x86_64.pl: fix typo in Windows SEH.
...
(cherry picked from commit 42386fdb62176ed3af237dd3e802ba9b8c0d4def)
2013-06-30 23:14:04 +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
f00962aaf3
aesni-sha1-x86_64.pl: update performance data.
...
(cherry picked from commit 3b848d3401de1892415e46561ae75f06ff65e823)
2013-06-10 22:52:06 +02:00
Andy Polyakov
3eccd2e53a
aesni-sha256-x86_64.pl: harmonize with latest sha512-x86_64.pl.
...
(cherry picked from commit 42b9a4177bf9d465ff9ac8d4e1526301d809a87e)
2013-06-10 22:51:55 +02:00
Andy Polyakov
75063c1527
aesni-sha1-x86_64.pl: Atom-specific optimization.
...
(cherry picked from commit 4df2280b4f4747256a729116fef0f1c2af457522)
2013-05-25 19:09:47 +02:00
Andy Polyakov
a0675d8149
vpaes-x86[_64].pl: minor Atom-specific optimization.
...
(cherry picked from commit 988d11b64193da65e7f9bbf436ad2a08d8d57142)
2013-05-25 18:58:54 +02:00
Andy Polyakov
d215724753
Add AES SPARC T4 module from master.
2013-05-19 23:54:34 +02:00
Andy Polyakov
b0f78dc018
Add AES-NI SHA256 stitch and take it into build loop [from master].
2013-05-19 22:23:18 +02:00
Andy Polyakov
1f2d194acf
aesni-sha1-x86_64.pl: update from master.
2013-05-19 22:18:52 +02: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
bc946bfb97
aes-s390x.pl: fix XTS bugs in z196-specific code path [from HEAD].
2012-12-05 17:45:09 +00:00
Andy Polyakov
c5e91a9ae9
aes-s390x.pl: harmonize software-only path [from HEAD].
2012-12-01 11:09:13 +00:00
Andy Polyakov
d90bf2ab21
[vp]aes-x86[_64].pl: update from HEAD.
2012-11-12 18:11:17 +00:00
Andy Polyakov
988037fe18
MIPS assembly pack: jumbo update from HEAD.
2012-09-19 20:59:18 +00:00