Andy Polyakov
c3bc7f4988
aes/asm/bsaes-armv7.pl: omit redundant stores in XTS subroutines.
...
Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit 4973a60cb9
)
2016-06-20 12:31:39 +02:00
Andy Polyakov
b62e9bf5cb
aes/asm/bsaes-armv7.pl: fix XTS decrypt test failure.
...
RT#4578
Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit 3d32bab8f1
)
2016-06-20 12:31:27 +02:00
Andy Polyakov
0b48a24ce9
s390x assembly pack: cache capability query results.
...
IBM argues that in certain scenarios capability query is really
expensive. At the same time it's asserted that query results can
be safely cached, because disabling CPACF is incompatible with
reboot-free operation.
Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 670ad0fbf6
)
2016-04-25 11:54:38 +02:00
Andy Polyakov
9676402c3a
PPC assembly pack: remove branch hints.
...
As it turns out branch hints grew as kind of a misconception. In
addition their interpretation by GNU assembler is affected by
assembler flags and can end up with opposite meaning on different
processors. As we have to loose quite a lot on misinterprerations,
especially on newer processors, we just omit them altogether.
Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 20b88bb160
)
2016-04-07 21:29:57 +02:00
Andy Polyakov
e780ed0336
x86_64 assembly pack: tune clang version detection even further.
...
RT#4171
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
(cherry picked from commit b974943234
)
2015-12-13 22:19:32 +01:00
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