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 670ad0fbf6ebcf113e278d8174081a7e2d2fa44c)
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 20b88bb160865b0c2998056fe841b1cbacd6d4c7)
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 b9749432346f69b29d82070041e71b237d718ce7)
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 76eba0d94bb418325be6409b272eac5e2bd4a0a9)
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
Alessandro Ghedini
ec3a7c9b37
Fix typos
...
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit d900a015b5a89ea2018e6122dd2738925e4d68ab)
2015-10-23 20:32:58 +02:00
Rich Salz
3be39dc1e3
RT4044: Remove .cvsignore files.
...
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-15 11:58:27 -04: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
0a1f31f7ba
sha/asm/sha*-armv8.pl: add Denver and X-Gene esults.
...
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit be5a87a1b00aceba5484a7ec198ac622c9283def)
2015-04-02 09:51:32 +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
c45dfdc68a
sha/asm/sha256-armv4.pl: adapt for use in Linux kernel context.
...
In cooperation with Ard Biesheuvel (Linaro) and Sami Tolvanen (Google).
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit 2ecd32a1f8f0643ae7b38f59bbaf9f0d6ef326fe)
2015-03-23 13:38:46 +01:00
Andy Polyakov
f243def213
sha/asm/sha1-586.pl: fix typo.
...
The typo doesn't affect supported configuration, only unsupported masm.
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 3372c4fffa0556a688f8f1f550b095051398f596)
2015-02-22 19:22:09 +01: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
2ad75afc3e
sha256-armv4.pl: fix typo.
...
Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 52cab5635603c1a7a00bc6f92401c84ec8920298)
2015-01-22 12:02:14 +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
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
a89adc148e
sha1-mb-x86_64.pl: add commentary.
...
Reviewed-by: Emilia Kasper <emilia@openssl.org>
(cherry picked from commit e608273a8094a95a5703c26a428a007497e74392)
2014-08-21 00:16:32 +02:00
Andy Polyakov
e99ac8b868
sha1-mb-x86_64.pl: fix typo.
...
Reviewed-by: Emilia Kasper <emilia@openssl.org>
(cherry picked from commit 55eb14da201cc35fe744a08718f5c2efb97f6155)
2014-08-20 22:12:50 +02:00
Andy Polyakov
a2f34441ab
sha1-ppc.pl: shave off one cycle from BODY_20_39
...
and improve performance by 10% on POWER[78].
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
(cherry picked from commit 5c3598307ebbf5a88d1c39fbb2629536e443a5dd)
2014-07-21 15:30:59 +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
0ad2a0a303
sha[1|512]-x86_64.pl: fix logical errors with $shaext=0.
...
(cherry picked from commit 07b635cceb60abaddba2f0e469e5f5978258f46b)
2014-07-07 17:02:00 +02:00
Andy Polyakov
6ce295a301
sha512-x86_64.pl: fix typo.
...
PR: #3431
(cherry picked from commit 7eb9680ae1bf5dd9aeb61c401f2c3bd900ac9aeb)
2014-07-06 00:00:34 +02:00
Andy Polyakov
daa96141d3
sha512-x86_64.pl: fix linking problem under Windows.
...
(cherry picked from commit 29be3f6411774e10169e60e1507df3d7c2e589df)
2014-07-01 17:12:41 +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
5cd8ce42ec
ARMv8 assembly pack: add Cortex performance numbers.
...
(cherry picked from commit 0f777aeb50b109052d41b8a55d97faecf728ea00)
2014-06-24 08:07:04 +02:00
Andy Polyakov
1f6d207625
sha1-x86_64.pl: add missing rex prefix in shaext.
...
PR: 3405
(cherry picked from commit c9cf29cca22d4d724a1e772bc5fdc201b2822f1d)
2014-06-14 15:28:38 +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
a00caa0257
sha[1|512]-armv8.pl: get instruction endianness right.
...
Submitted by: Ard Biesheuvel.
(cherry picked from commit cd91fd7c32428c0deb503f19b8061e0980476876)
2014-06-10 23:34:53 +02:00
Andy Polyakov
ea61b32719
Add SHA for ARMv8.
...
(cherry picked from commit ddb6b965da0087dadea5488fe11646e3777c66e1)
2014-06-10 23:32:16 +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
1f72a76f98
sha[1|256]-armv4: harmonize with arm_arch.h.
...
(cherry picked from commit 797d24bee9523e5cac14fe82a4dad356d1ec67f9)
2014-06-10 22:49:54 +02:00
Andy Polyakov
f5247cea39
sha/asm/sha1-armv4-large.pl: add NEON and ARMv8 code paths.
...
sha/asm/sha256-armv4.pl: add ARMv8 code path.
(cherry picked from commit 9250a30692e182957d3fe48e3e07b1824ca1453a)
2014-06-10 22:48:27 +02:00
Andy Polyakov
d00ae7cf70
sha/asm/sha256-586.pl: don't try to compile SIMD with no-sse2.
...
(cherry picked from commit d49135e7ead795412a8357ff425dc99e328c53f6)
2014-02-26 10:23:56 +01:00
Andy Polyakov
f92926e331
sha/asm/sha512-x86_64.pl: fix compilation error on Solaris.
...
(cherry picked from commit 147cca8f530b8ddf22087e5709927082e095a062)
2014-02-26 09:31:40 +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
3073927e42
sha512-ia64.pl: 15-20% performance improvement.
...
(cherry picked from commit 46a2b3387a3feb044527a58a89555029c809190d)
2014-02-01 22:21:57 +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
729d334106
crypto/sha/asm/sha1-x86_64.pl: jumbo update from master.
2014-02-01 21:24:55 +01:00
Andy Polyakov
e34140620e
sha/asm/sha256-armv4.pl: add NEON code path.
...
(and shave off cycle even from integer-only code)
(cherry picked from commit ad0d2579cf3a293a35a5b606afc5a97c71cf6ca7)
2014-01-04 18:06:36 +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
d7d7e7b038
ARM assembly pack: make it work with older toolchain.
...
(cherry picked from commit 2218c296b4981af6f2639bbd7eabfb89437fe776)
2013-12-28 12:18:11 +01:00
Andy Polyakov
fc9c9e47f7
sha1-x86_64.pl: harmonize Win64 SE handlers for SIMD code pathes.
...
(and ensure stack alignment in the process)
(cherry picked from commit fc0503a25cd638b93f7af04640c20042e0329b3b)
2013-12-18 22:57:14 +01:00
Andy Polyakov
422c8c36e5
ARM assembly pack: SHA update from master.
2013-12-09 23:53:42 +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
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
4e09add6f8
crypto/sha/asm/sha*-x86_64.pl: comply with Win64 ABI.
...
(cherry picked from commit 006784378db1a8957fcf587ee1deaa5cf2ae76c7)
2013-07-31 23:52:21 +02:00