Andy Polyakov
7eb0488280
x86_64 assembly pack: addendum to last clang commit.
2014-06-24 08:37:05 +02:00
Andy Polyakov
ac171925ab
x86_64 assembly pack: allow clang to compile AVX code.
2014-06-24 08:24:25 +02:00
Andy Polyakov
0f777aeb50
ARMv8 assembly pack: add Cortex performance numbers.
2014-06-24 08:06:05 +02:00
Andy Polyakov
c9cf29cca2
sha1-x86_64.pl: add missing rex prefix in shaext.
...
PR: 3405
2014-06-14 15:27:54 +02:00
Andy Polyakov
977f32e852
Facilitate back-porting of AESNI and SHA modules.
...
Fix SEH and stack handling in Win64 build.
2014-06-12 21:45:41 +02:00
Andy Polyakov
619b94667c
Add support for Intel SHA extension.
2014-06-11 10:27:45 +02:00
Andy Polyakov
5dcf70a1c5
ARM assembly pack: get ARMv7 instruction endianness right.
...
Pointer out and suggested by: Ard Biesheuvel.
2014-06-06 21:27:18 +02:00
Andy Polyakov
cd91fd7c32
sha[1|512]-armv8.pl: get instruction endianness right.
...
Submitted by: Ard Biesheuvel.
2014-06-06 20:50:43 +02:00
Andy Polyakov
797d24bee9
sha[1|256]-armv4: harmonize with arm_arch.h.
2014-06-01 22:29:50 +02:00
Andy Polyakov
ddb6b965da
Add SHA for ARMv8.
2014-06-01 18:02:11 +02:00
Andy Polyakov
bd227733b9
C64x+ assembly pack: make it work with older toolchain.
2014-05-04 16:38:32 +02:00
Andy Polyakov
9250a30692
sha/asm/sha1-armv4-large.pl: add NEON and ARMv8 code paths.
...
sha/asm/sha256-armv4.pl: add ARMv8 code path.
2014-05-04 10:57:55 +02:00
Andy Polyakov
d49135e7ea
sha/asm/sha256-586.pl: don't try to compile SIMD with no-sse2.
2014-02-26 10:22:13 +01:00
Andy Polyakov
147cca8f53
sha/asm/sha512-x86_64.pl: fix compilation error on Solaris.
2014-02-26 09:30:03 +01:00
Andy Polyakov
3847d15d6b
[aesni|sha*]-mb-x86_64.pl: add data prefetching.
2014-02-05 14:03:35 +01:00
Andy Polyakov
b217ca63b1
crypto/sha/asm/sha1-x86_64.pl update:
...
+5% on Atom Silvermont, up to +8% improvement of legacy code.
Harmonize sha1-586.pl and aesni-sha1-x86_86.p with sha1-x86_64.pl.
2014-02-01 21:07:16 +01:00
Andy Polyakov
5dc52b919b
PPC assembly pack: relax 64-bit requirement for little-endian support.
2014-01-07 22:44:21 +01:00
Andy Polyakov
ad0d2579cf
sha/asm/sha256-armv4.pl: add NEON code path.
...
(and shave off cycle even from integer-only code)
2014-01-04 18:04:53 +01:00
Andy Polyakov
25f7117f0e
aesni-sha1-x86_64.pl: refine Atom-specific optimization.
...
(and update performance data, and fix typo)
2014-01-04 17:13:57 +01:00
Andy Polyakov
2218c296b4
ARM assembly pack: make it work with older toolchain.
2013-12-28 12:17:08 +01:00
Andy Polyakov
fc0503a25c
sha1-x86_64.pl: harmonize Win64 SE handlers for SIMD code pathes.
...
(and ensure stack alignment in the process)
2013-12-18 22:12:08 +01:00
Andy Polyakov
fb65e65e28
sha/asm/sha512-ppc.pl: fix typo.
...
Submitted by: Marcelo Cerri
2013-10-31 20:21:54 +01:00
Andy Polyakov
8ff8a829b0
perlasm/ppc-xlate.pl: add .quad directive
...
sha/asm/sha512-ppc.pl: add little-endian support.
Submitted by: Marcelo Cerri
2013-10-31 11:08:51 +01:00
Andy Polyakov
3f9562a669
sha/asm/sha1-ppc.pl: add little-endian support.
...
Submitted by: Marcelo Cerri
2013-10-31 11:07:38 +01:00
Andy Polyakov
76c15d790e
PPC assembly pack: make new .size directives profiler-friendly.
...
Suggested by: Anton Blanchard
2013-10-15 23:40:12 +02:00
Andy Polyakov
d6019e1654
PPC assembly pack: add .size directives.
2013-10-15 00:14:39 +02:00
Andy Polyakov
0c2adb0a9b
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.
2013-10-13 13:14:52 +02:00
Andy Polyakov
61ba602af5
sha/asm/sha*-mb-x86_64.pl: commentary update.
2013-10-08 23:36:55 +02:00
Andy Polyakov
b783858654
x86_64 assembly pack: add multi-block AES-NI, SHA1 and SHA256.
2013-10-03 00:18:58 +02:00
Veres Lajos
478b50cf67
misspellings fixes by https://github.com/vlajos/misspell_fixer
2013-09-05 21:39:42 +01:00
Andy Polyakov
006784378d
crypto/sha/asm/sha*-x86_64.pl: comply with Win64 ABI.
2013-07-31 23:50:15 +02:00
Andy Polyakov
241fba4ea9
sha512-586.pl: fix typo.
...
Submitted by: Gisle Vanem
2013-07-10 09:59:25 +02:00
Andy Polyakov
02450ec69d
PA-RISC assembler pack: switch to bve in 64-bit builds.
...
PR: 3074
2013-06-18 10:37:00 +02:00
Andy Polyakov
cd8d7335af
sha1-x86_64.pl: add AVX2+BMI code path.
2013-06-10 22:30:34 +02:00
Andy Polyakov
c7f690c243
sha512-x86_64.pl: upcoming-Atom-specific optimization.
2013-06-10 22:29:01 +02:00
Andy Polyakov
32213d8d77
sha[256|512]-586.pl: add more SIMD code paths.
2013-06-10 22:26:53 +02:00
Andy Polyakov
504bbcf3cd
sha512-x86_64.pl: +16% optimization for Atom.
...
(and pending AVX2 changes).
2013-05-25 19:02:57 +02:00
Andy Polyakov
47edeb9f59
sha256-586.pl: code refresh.
2013-02-15 11:23:06 +01:00
Andy Polyakov
35c77b7303
sha1-586.pl: code refresh.
2013-02-14 22:20:17 +01:00
Andy Polyakov
7c9e81be40
[aesni-]sha1-x86_64.pl: code refresh.
2013-02-14 16:14:02 +01:00
Andy Polyakov
c4558efbf3
sha512-x86_64.pl: add AVX2 code path.
2013-02-14 15:39:42 +01:00
Andy Polyakov
46bf83f07a
x86_64 assembly pack: make Windows build more robust.
...
PR: 2963 and a number of others
2013-01-22 22:27:28 +01:00
Andy Polyakov
1598af9ac9
sha512-ppc.pl: minimize stack frame.
2013-01-22 21:09:14 +01:00
Andy Polyakov
d4571f43e8
sha512-ppc.pl: add PPC32 code, >2x improvement on in-order cores.
2013-01-19 17:22:05 +01:00
Andy Polyakov
904732f68b
C64x+ assembly pack: improve EABI support.
2012-11-28 13:19:10 +00:00
Andy Polyakov
1efd583085
SPARCv9 assembly pack: harmonize ABI handling (so that it's handled in one
...
place at a time, by pre-processor in .S case and perl - in .s).
2012-10-25 12:07:32 +00:00
Andy Polyakov
aea4126e4e
[md5|sha1|sha512]-sparcv9.pl: "cooperative" optimizations based on
...
suggestions from David Miller.
2012-10-14 14:46:56 +00:00
Andy Polyakov
3ed6e22771
sha[1|512]-sparcv9.pl: add hardware SPARC T4 support.
...
Submitted by: David Miller
2012-09-28 09:35:39 +00:00
Andy Polyakov
5cc2159526
MIPS assembly pack: add support for SmartMIPS ASE.
2012-09-18 12:52:23 +00:00
Andy Polyakov
8df5518bd9
MIPS assembly pack: add MIPS[32|64]R2 code.
2012-09-15 11:18:20 +00:00
Andy Polyakov
17e820aec3
sha512-sparcv9.pl: fix binutils compilation error.
...
Submitted by: David Miller
2012-09-15 08:53:25 +00:00
Andy Polyakov
f26328c2f3
sha512-armv4.pl: optimize for Snapdragon S4.
2012-09-04 08:25:37 +00:00
Andy Polyakov
1a9d60d2e3
sha1-armv4-large.pl: comply with ABI.
2012-08-17 19:57:04 +00:00
Andy Polyakov
1a002d88ad
MIPS assembly pack: assign default value to $flavour.
2012-08-17 09:10:31 +00:00
Andy Polyakov
f6ff1aa8e0
sha512-x86_64.pl: revert previous change and solve the problem through
...
perlasm/x86_64-xlate.pl instead.
2012-08-13 12:34:36 +00:00
Andy Polyakov
3a5485a9f8
sha512-x86_64.pl: minimum gas requirement for AMD XOP.
2012-08-13 11:01:44 +00:00
Andy Polyakov
69f45c520c
sha1-[586|x86_64].pl: shave off one instruction from body_40_59, it's
...
2% less instructions in SIMD code paths, so 2% improvement in average:-)
2012-07-15 20:33:30 +00:00
Andy Polyakov
ee923b4cef
sha512-s390x.pl: lingering comment update.
2012-07-15 13:36:57 +00:00
Andy Polyakov
46a2b3387a
sha512-ia64.pl: 15-20% performance improvement.
2012-07-15 13:36:25 +00:00
Andy Polyakov
e09039c01c
sha256-armv4.pl: 4% performance improvement.
2012-07-15 13:35:10 +00:00
Andy Polyakov
da3bd2779d
sha1-s390x.pl: lingering comment update.
2012-07-15 13:34:26 +00:00
Andy Polyakov
660164a9ed
sha512-586.pl: optimize SSE2 code path, +5-7% on most CPUs, +13% on AMD K8.
2012-07-15 13:28:15 +00:00
Andy Polyakov
367b126491
sha1-586.pl: let masm compile AVX code.
2012-07-15 13:25:31 +00:00
Andy Polyakov
2dce10c56d
sha256-586.pl: fix typos.
2012-07-01 08:46:38 +00:00
Andy Polyakov
6251989eb6
x86_64 assembly pack: make it possible to compile with Perl located on
...
path with spaces.
PR: 2835
2012-06-27 10:08:23 +00:00
Andy Polyakov
faee82c1bc
sha512-x86_64.pl: fix typo.
2012-06-25 17:13:15 +00:00
Andy Polyakov
a8f3b8b519
sha512-x86_64.pl: add SIMD code paths.
2012-06-24 19:22:06 +00:00
Andy Polyakov
ad880dc469
sha512-x86_64.pl: fix typo.
2012-06-19 07:50:10 +00:00
Andy Polyakov
42a36658c1
sha256-586.pl: fix linking error.
2012-06-19 07:49:36 +00:00
Andy Polyakov
f3eac74bc5
sha256-586.pl: add AVX and XOP code paths.
2012-06-12 14:40:11 +00:00
Andy Polyakov
3a9b3852c6
sha256-586.pl: squeeze some more, most notably ~10% on Nehalem.
2012-06-12 14:38:01 +00:00
Andy Polyakov
d2e1803197
x86[_64] assembly pack: update benchmark results.
2012-06-12 14:18:21 +00:00
Andy Polyakov
f889bb0384
sha256-586.pl: full unroll to deliver additional ~16%, add Sandy Bridge-
...
specific code path.
2012-05-28 17:50:57 +00:00
Andy Polyakov
83698d3191
sha512-x86_64.pl: >5% better performance.
2012-05-28 17:47:15 +00:00
Andy Polyakov
d4bb6bddf8
sha256-586.pl: tune away regression on Nehalem core and incidentally
...
improve performance on Atom and P4.
2012-05-24 07:39:04 +00:00
Andy Polyakov
ee9bf3eb6c
sha256-586.pl optimization.
2012-05-19 10:10:30 +00:00
Andy Polyakov
f9c5e5d92e
perlasm: fix symptom-less bugs, missing semicolons and 'my' declarations.
2012-04-28 10:36:58 +00:00
Andy Polyakov
3e181369dd
C64x+ assembler pack. linux-c64xplus build is *not* tested nor can it be
...
tested, because kernel is not in shape to handle it *yet*. The code is
committed mostly to stimulate the kernel development.
2012-04-18 13:01:36 +00:00
Andy Polyakov
482a7d80cf
sha512-armv4.pl: optimize NEON code path by utilizing vbsl, bitwise select.
2012-03-29 18:20:11 +00:00
Andy Polyakov
adb5a2694a
sha512-sparcv9.pl: work around V8+ warning.
2012-01-13 09:18:05 +00:00
Andy Polyakov
23b93b587b
aes-ppc.pl, sha512-ppc.pl: comply even with Embedded ABI specification
...
(most restrictive about r2 and r13 usage).
2012-01-13 09:16:52 +00:00
Andy Polyakov
d528caa725
sha1-mips.pl: fix typo.
2011-10-20 08:39:29 +00:00
Andy Polyakov
227a822ab6
vxworks-mips: unify and add assembler.
2011-10-19 21:49:20 +00:00
Andy Polyakov
7470276a25
sha256-586.pl: minor optimization, +0-2% on all CPUs, +7% on Westmere.
2011-09-17 12:57:33 +00:00
Andy Polyakov
d2fd65f6f6
sha512-x86_64.pl: +15% better performance on Westmere and incidentally Atom.
...
Other Intel processors +5%, Opteron -2%.
2011-09-17 11:30:28 +00:00
Andy Polyakov
9df286b13a
sha512-sparcv9.pl: minor optimization of sha256.
2011-07-18 11:34:07 +00:00
Andy Polyakov
87873f4328
ARM assembler pack: add platform run-time detection.
2011-07-17 17:40:29 +00:00
Andy Polyakov
169a274a41
sha1-x86_64.pl: nasm 2.07 screws up labels if AVX path is compiled.
2011-07-04 13:00:24 +00:00
Andy Polyakov
da5e9871e9
sha1-x86_64.pl: fix win64-specific typos and add masm support.
2011-07-01 21:23:13 +00:00
Andy Polyakov
5a0876cb8c
crypto/sha/asm/sha[1|512]-mips.pl: minor updates.
2011-06-28 12:41:19 +00:00
Andy Polyakov
afa4b38671
sha1-586|x86_64.pl: minor portability fix.
2011-05-29 13:48:57 +00:00
Andy Polyakov
0c149802a2
sha1-586|x86_64.pl: add SSSE3 and AVX code paths.
2011-05-29 12:39:48 +00:00
Andy Polyakov
6715034002
PPC assembler pack: adhere closer to ABI specs, add PowerOpen traceback data.
2011-05-27 13:32:34 +00:00
Andy Polyakov
1e86318091
ARM assembler pack: profiler-assisted optimizations and NEON support.
2011-04-01 20:58:34 +00:00
Andy Polyakov
e822c756b6
s390x assembler pack: adapt for -m31 build, see commentary in Configure
...
for more details.
2010-11-29 20:52:43 +00:00
Andy Polyakov
c242dda4a4
sha512-mips.pl: add missing 64-bit byte swap.
2010-10-22 20:16:22 +00:00
Andy Polyakov
ca32ceb773
sha512-mips.pl: fix "little-endian" typos.
2010-10-21 15:56:24 +00:00
Andy Polyakov
5ad83922ca
sha512-mips.pl: add missing byte swap for little-endians.
2010-10-02 12:43:04 +00:00
Andy Polyakov
d466588788
MIPS assembler pack: enable it in Configure, add SHA2 module, fix make rules,
...
update commentary...
2010-10-02 11:47:17 +00:00
Andy Polyakov
0985473636
sha1-mips.pl, mips-mont.pl: unify MIPS assembler modules in respect to
...
ABI and binutils.
2010-09-22 08:43:09 +00:00
Andy Polyakov
90ba3a28f8
s390x assembler pack: extend OPENSSL_s390xcap_P to 128 bits.
2010-09-18 08:46:53 +00:00
Andy Polyakov
f8927c89d0
Alpha assembler pack: adapt for Linux.
...
PR: 2335
2010-09-13 13:28:52 +00:00
Andy Polyakov
3739a772e9
sha1-armv4-large.pl: more readable input pickup.
2010-09-10 15:41:08 +00:00
Andy Polyakov
33d9c8348a
sha1-armv4-large.pl: reschedule instructions for dual-issue pipeline.
2010-08-03 15:34:57 +00:00
Andy Polyakov
d5fe8c3459
sha1-alpha.pl: commentary update.
2010-07-26 21:57:10 +00:00
Andy Polyakov
c981086d40
sha1-armv4-large.pl: add performance data for Cortex A8 core.
2010-07-13 14:11:44 +00:00
Andy Polyakov
2d22e08083
ARM assembler pack: reschedule instructions for dual-issue pipeline.
...
Modest improvement coefficients mean that code already had some
parallelism and there was not very much room for improvement. Special
thanks to Ted Krovetz for benchmarking the code with such patience.
2010-07-13 14:03:31 +00:00
Andy Polyakov
1cbdca7bf2
Harmonize s390x assembler modules with "catch-all" rules from commit#19749.
2010-07-09 12:11:12 +00:00
Andy Polyakov
396df7311e
crypto/*/Makefile: unify "catch-all" assembler make rules and harmonize
...
ARM assembler modules.
2010-07-08 15:03:42 +00:00
Andy Polyakov
c32fcca6f4
SPARCv9 assembler pack: refine CPU detection on Linux, fix for "unaligned
...
opcodes detected in executable segment" error.
2010-07-01 07:34:56 +00:00
Andy Polyakov
3efe51a407
Revert previous Linux-specific/centric commit#19629. If it really has to
...
be done, it's definitely not the way to do it. So far answer to the
question was to ./config -Wa,--noexecstack (adopted by RedHat).
2010-05-05 22:05:39 +00:00
Ben Laurie
0e3ef596e5
Non-executable stack in asm.
2010-05-05 15:50:13 +00:00
Andy Polyakov
9a649f3b46
sha1-alpha.pl: addenum till commit #19547 .
2010-04-10 13:51:20 +00:00
Andy Polyakov
97a6a01f0f
ARMv4 assembler: fix compilation failure. Fix is actually unconfirmed, but
...
I can't think of any other cause for failure
2010-03-29 09:55:19 +00:00
Andy Polyakov
91fdacb2c3
s390x assembler update: add support for run-time facility detection.
2010-01-19 12:24:59 +00:00
Andy Polyakov
3fc2efd241
PA-RISC assembler: missing symbol and typos.
2009-12-28 16:13:35 +00:00
Andy Polyakov
b57599b70c
Update sha512-parisc.pl and add make rules.
2009-12-27 21:05:19 +00:00
Andy Polyakov
a83f83aac8
Add sha512-parisc.pl.
2009-11-15 17:29:31 +00:00
Andy Polyakov
5727f1f790
SHA1 assembler show off: minor performance updates and new modules for
...
forgotten CPUs.
2009-11-15 17:26:11 +00:00
Andy Polyakov
c372482c1b
sha1-x86* assembler update: F_40_59 and Atom-specific optimizations.
2009-08-18 19:24:50 +00:00
Andy Polyakov
f06d0072fc
Minor shaX-s390x.pl update.
2009-04-26 18:11:25 +00:00
Andy Polyakov
e22b864846
Make SPARC assembler modules *really* Purify-friendly.
2009-03-17 18:31:08 +00:00
Andy Polyakov
57db09906b
Excuse myself from integrating sha1-sparcv9a.pl into build system, but
...
make it Purify-friendly...
2009-03-16 13:48:42 +00:00
Andy Polyakov
7012d2a8fa
sha1-sparcv9a.pl: fix bug in commentary section.
2009-02-09 16:03:33 +00:00
Andy Polyakov
8626230a02
s390x assembler pack update.
2009-02-09 15:42:04 +00:00
Andy Polyakov
6de3683908
Add UltraSPARC VIS-powered SHA1 block procedure.
2009-01-05 14:52:31 +00:00
Andy Polyakov
be01f79d3d
x86_64 assembler pack: add support for Win64 SEH.
2008-12-19 11:17:29 +00:00
Andy Polyakov
aa8f38e49b
x86_64 assembler pack to comply with updated styling x86_64-xlate.pl rules.
2008-11-12 08:15:52 +00:00
Andy Polyakov
492279f6f3
AIX build updates.
2008-09-12 14:45:54 +00:00
Andy Polyakov
96826bfc84
sha1-armv4-large cosmetics.
2008-08-06 08:58:45 +00:00
Andy Polyakov
eb1aa135d8
sha1-armv4-large.pl performance improvement. On PXA255 it gives +10% on
...
8KB block, +60% on 1KB, +160% on 256B...
2008-08-06 08:47:07 +00:00
Andy Polyakov
87facba376
Remove junk argument to function_begin in sha/asm/*-586.pl.
...
PR: 1681
2008-07-17 09:50:56 +00:00
Andy Polyakov
addd641f3a
Unify ppc assembler make rules.
2008-01-13 22:01:30 +00:00
Andy Polyakov
ca55d11f84
Allow to specify filename on sha1-ia64.pl command line.
2008-01-13 17:43:11 +00:00
Andy Polyakov
7722e53f12
Yet another ARM update. It appears to be more appropriate to make
...
developers responsible for -march choice.
2007-09-27 16:27:03 +00:00
Andy Polyakov
4c7c5ff667
ARMv4 assembler pack.
2007-09-27 07:09:46 +00:00
Andy Polyakov
74eb3e0914
Make sha512-armv4.pl byte-order neutral.
2007-09-26 12:17:33 +00:00
Andy Polyakov
79fe664f19
Clarify commentary in sha512-sparcv9.pl.
2007-09-26 12:16:32 +00:00
Andy Polyakov
b5e5760d01
Minor formatting fixes in crypto/sha/asm.
2007-09-18 21:12:02 +00:00
Andy Polyakov
8dc899dee4
Minor sha[256|512]-586 performance tweaks.
2007-09-16 18:47:24 +00:00
Andy Polyakov
1a01868e35
Remove sha512-sse2.pl.
2007-09-15 13:45:17 +00:00
Andy Polyakov
563d3e5948
Engage new x86 assembler modules.
2007-09-14 21:06:14 +00:00
Andy Polyakov
399f94bfb4
Commentary updates.
2007-09-13 07:27:10 +00:00
Andy Polyakov
1fa29843fa
SHA512 for ARMv4.
2007-09-13 07:26:35 +00:00
Andy Polyakov
ee0449b17c
SHA256/512 for x86.
2007-09-13 07:26:19 +00:00
Andy Polyakov
55eab3b74b
Make x86_64 modules work under Win64/x64.
2007-08-23 12:01:58 +00:00
Andy Polyakov
a1a382dbc9
SHA256 for ARMv4.
2007-05-22 09:56:45 +00:00
Andy Polyakov
232a938c75
Make sha*-ia64 modules alignment neutral.
2007-05-13 15:15:24 +00:00
Andy Polyakov
308595638a
Mention Core2 in sha1-x86_64.
2007-05-10 07:34:50 +00:00
Andy Polyakov
0bd8d6e2e1
Commentary updates to SHA for sparcv9.
2007-05-10 06:48:28 +00:00