Andy Polyakov
301a6dcd45
x86_64 assembly pack: tune clang version detection.
...
RT#4142
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit 76eba0d94b
)
Resolved conflicts:
crypto/bn/asm/x86_64-mont.pl
crypto/bn/asm/x86_64-mont5.pl
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
2015-11-30 13:37:39 +01:00
Andy Polyakov
bc2ab6ed2f
aes/asm/vpaes-ppc.pl: eliminate overhung stores in misaligned cases.
...
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit ce24d2ed23
)
2015-11-18 11:57:45 +01:00
Andy Polyakov
817ddb9fb0
aesni-sha256-x86_64.pl: fix crash on AMD Jaguar.
...
It was also found that stich performs suboptimally on AMD Jaguar, hence
execution is limited to XOP-capable and Intel processors.
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
(cherry picked from commit a5fd24d19b
)
2015-11-16 13:07:33 +01:00
Alessandro Ghedini
ec3a7c9b37
Fix typos
...
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit d900a015b5
)
2015-10-23 20:32:58 +02:00
Richard Levitte
9f0b86c68b
Conversion to UTF-8 where needed
...
This leaves behind files with names ending with '.iso-8859-1'. These
should be safe to remove. If something went wrong when re-encoding,
there will be some files with names ending with '.utf8' left behind.
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-07-14 01:17:45 +02:00
Andy Polyakov
d3bb25e30a
aes/asm/aesni-sha256-x86_64.pl: fix Windows compilation failure with old assembler.
...
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 82c4a07939
)
2015-05-13 17:00:06 +02:00
Andy Polyakov
73824ba8fe
aes/asm/aesni-x86.pl: fix typo affecting Windows build.
...
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 7be6bc68c6
)
2015-04-20 18:40:46 +02:00
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 23f6eec71d
)
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 94376cccb4
)
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 c462a6817b
)
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 e464403d0b
)
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 c1669e1c20
)
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 69d5747f90
)
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 b59f92e75d
)
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 1b0fe79f3e
)
2014-07-09 22:46:13 +02:00
Andy Polyakov
377551b9c4
x86_64 assembly pack: refine clang detection.
...
(cherry picked from commit a356e488ad
)
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 7eb0488280
)
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 ac171925ab
)
2014-06-27 22:55:07 +02:00
Andy Polyakov
1536bcfd56
aesv8-armx.pl: rigid input verification in key setup.
...
(cherry picked from commit 7b8c8c4d79
)
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 015364baf3
)
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 9024b84b7c
)
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 91a6bf80f8
)
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 977f32e852
)
2014-06-12 21:51:35 +02:00
Andy Polyakov
70fddbe32a
Add support for Intel SHA extension.
...
(cherry picked from commit 619b94667c
)
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 e2eabed110
)
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 5dcf70a1c5
)
2014-06-10 22:51:15 +02:00
Andy Polyakov
c90c694bc4
vpaes-ppc.pl: comply with ABI.
...
(cherry picked from commit b83d09f552
)
2014-05-23 20:16:21 +02:00
Andy Polyakov
ffdff9f12f
aes/asm/bsaes-x86_64.pl: Atom-specific optimization.
...
(cherry picked from commit 558ff0f0c1
)
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 6eebcf3459
)
2014-04-06 12:53:17 +02:00
Andy Polyakov
aa1bb606f3
aes/asm/vpaes-ppc.pl: fix traceback info.
...
(cherry picked from commit e704741bf3
)
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 214368ffee
)
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 5599c7331b
)
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 76c15d790e
)
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 42386fdb62
)
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 02450ec69d
)
2013-06-30 23:13:23 +02:00
Andy Polyakov
f00962aaf3
aesni-sha1-x86_64.pl: update performance data.
...
(cherry picked from commit 3b848d3401
)
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 42b9a4177b
)
2013-06-10 22:51:55 +02:00
Andy Polyakov
75063c1527
aesni-sha1-x86_64.pl: Atom-specific optimization.
...
(cherry picked from commit 4df2280b4f
)
2013-05-25 19:09:47 +02:00
Andy Polyakov
a0675d8149
vpaes-x86[_64].pl: minor Atom-specific optimization.
...
(cherry picked from commit 988d11b641
)
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