summaryrefslogtreecommitdiffstats
path: root/crypto/sha/asm
AgeCommit message (Collapse)Author
2017-03-29More typo fixesFdaSilvaYY
Fix some comments too [skip ci] Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3069)
2017-03-22x86_64 assembly pack: add some Ryzen performance results.Andy Polyakov
Reviewed-by: Tim Hudson <tjh@openssl.org>
2017-02-28Clean up references to FIPSEmilia Kasper
This removes the fips configure option. This option is broken as the required FIPS code is not available. FIPS_mode() and FIPS_mode_set() are retained for compatibility, but FIPS_mode() always returns 0, and FIPS_mode_set() can only be used to turn FIPS mode off. Reviewed-by: Stephen Henson <steve@openssl.org>
2017-02-15sha/asm/*-x86_64.pl: add CFI annotations.Andy Polyakov
Reviewed-by: Rich Salz <rsalz@openssl.org>
2017-02-11sha/asm/sha1-x86_64.pl: add CFI annotations.Adam Langley
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2590)
2017-02-06x86_64 assembly pack: Win64 SEH face-lift.Andy Polyakov
- harmonize handlers with guidelines and themselves; - fix some bugs in handlers; - add missing handlers in chacha and ecp_nistz256 modules; Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-12-19x86 assembly pack: update performance results.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-11-17sha/asm/sha512-armv8.pl: fix big-endian support in __KERNEL__ case.Andy Polyakov
In non-__KERNEL__ context 32-bit-style __ARMEB__/__ARMEL__ macros were set in arm_arch.h, which is shared between 32- and 64-bit builds. Since it's not included in __KERNEL__ case, we have to adhere to official 64-bit pre-defines, __AARCH64EB__/__AARCH64EL__. [If we are to share more code, it would need similar adjustment.] Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-11-11sha/asm/sha512-armv8.pl: add NEON version of SHA256.Andy Polyakov
This provides up to 30% better performance on some of recent processors. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-10-24sha/asm/sha512-armv8.pl: adapt for kernel use.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-10-24x86_64 assembly pack: add Goldmont performance results.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-10-10Remove trailing whitespace from some files.David Benjamin
The prevailing style seems to not have trailing whitespace, but a few lines do. This is mostly in the perlasm files, but a few C files got them after the reformat. This is the result of: find . -name '*.pl' | xargs sed -E -i '' -e 's/( |'$'\t'')*$//' find . -name '*.c' | xargs sed -E -i '' -e 's/( |'$'\t'')*$//' find . -name '*.h' | xargs sed -E -i '' -e 's/( |'$'\t'')*$//' Then bn_prime.h was excluded since this is a generated file. Note mkerr.pl has some changes in a heredoc for some help output, but other lines there lack trailing whitespace too. Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2016-09-02MIPS assembly pack: adapt it for MIPS[32|64]R6.Andy Polyakov
MIPS[32|64]R6 is binary and source incompatible with previous MIPS ISA specifications. Fortunately it's still possible to resolve differences in source code with standard pre-processor and switching to trap-free version of addition and subtraction instructions. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-08-16ARMv8 assembly pack: add Samsung Mongoose results.Andy Polyakov
Reviewed-by: Tim Hudson <tjh@openssl.org>
2016-08-11sha/asm/sha1-x86_64.pl: fix crash in SHAEXT code on Windows.Andy Polyakov
RT#4530 Reviewed-by: Tim Hudson <tjh@openssl.org>
2016-08-05spelling fixes, just comments and readme.klemens
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1413)
2016-06-01Remove/rename some old files.Rich Salz
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-29x86_64 assembly pack: tolerate spaces in source directory name.Andy Polyakov
[as it is now quoting $output is not required, but done just in case] Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-21Add OpenSSL copyright to .pl filesRich Salz
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-04Alpha assembly pack: make it work on Linux.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-04MIPS assembly pack: fix MIPS64 assembler warnings.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-25s390x assembly pack: cache capability query results.Andy Polyakov
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>
2016-04-07PPC assembly pack: remove branch hints.Andy Polyakov
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>
2016-03-11Fix some assembler generating scripts for better unificationRichard Levitte
Some of these scripts would recognise an output parameter if it looks like a file path. That works both in both the classic and new build schemes. Some fo these scripts would only recognise it if it's a basename (i.e. no directory component). Those need to be corrected, as the output parameter in the new build scheme is more likely to contain a directory component than not. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-09Unified - adapt the generation of sha assembler to use GENERATERichard Levitte
This gets rid of the BEGINRAW..ENDRAW sections in crypto/sha/build.info. This also moves the assembler generating perl scripts to take the output file name as last command line argument, where necessary. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-08SPARCv9 assembly pack: unify build rules and argument handling.Andy Polyakov
Make all scripts produce .S, make interpretation of $(CFLAGS) pre-processor's responsibility, start accepting $(PERLASM_SCHEME). [$(PERLASM_SCHEME) is redundant in this case, because there are no deviataions between Solaris and Linux assemblers. This is purely to unify .pl->.S handling across all targets.] Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-02Consistently use arm_arch.h constants in armcap assembly code.David Benjamin
Most of the assembly uses constants from arm_arch.h, but a few references to ARMV7_NEON don't. Consistently use the macros everywhere. Signed-off-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-05GH601: Various spelling fixes.FdaSilvaYY
Signed-off-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2015-12-21sha/asm/sha256-armv4.pl: one of "universal" flags combination didn't compile.Andy Polyakov
(and unify table address calculation in ARMv8 code path). Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-12-13x86_64 assembly pack: tune clang version detection even further.Andy Polyakov
RT#4171 Reviewed-by: Kurt Roeckx <kurt@openssl.org>
2015-12-07ARMv4 assembly pack: allow Thumb2 even in iOS build,Andy Polyakov
and engage it in most modules. Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-11-23x86_64 assembly pack: tune clang version detection.Andy Polyakov
RT#4142 Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-10-23Fix typosAlessandro Ghedini
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-09-26Skylake performance results.Andy Polyakov
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-25Allow ILP32 compilation in AArch64 assembly pack.Andy Polyakov
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-25ARMv4 assembly pack: implement support for Thumb2.Andy Polyakov
As some of ARM processors, more specifically Cortex-Mx series, are Thumb2-only, we need to support Thumb2-only builds even in assembly. Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-07-14Conversion to UTF-8 where neededRichard Levitte
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-04-20Add assembly support for 32-bit iOS.Andy Polyakov
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-04-02sha/asm/sha*-armv8.pl: add Denver and X-Gene esults.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-04-02aes/asm/aesv8-armx.pl: optimize for Cortex-A5x.Andy Polyakov
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>
2015-03-29sha/asm/sha512-armv4.pl: adapt for use in Linux kernel context.Andy Polyakov
Follow-up to sha256-armv4.pl in cooperation with Ard Biesheuvel (Linaro) and Sami Tolvanen (Google). Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-03-29sha/asm/sha256-armv4.pl: fix compile issue in kernelAndy Polyakov
and eliminate little-endian dependency. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-03-23sha/asm/sha256-armv4.pl: adapt for use in Linux kernel context.Andy Polyakov
In cooperation with Ard Biesheuvel (Linaro) and Sami Tolvanen (Google). Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-03-08ARMv4 assembly pack: add Cortex-A15 performance data.Andy Polyakov
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-02-22sha/asm/sha1-586.pl: fix typo.Andy Polyakov
The typo doesn't affect supported configuration, only unsupported masm. Reviewed-by: Matt Caswell <matt@openssl.org>
2015-01-23Add assembly support to ios64-cross.Andy Polyakov
Fix typos in ios64-cross config line. Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-22Fix macosx-ppc build (and typos in unwind info).Andy Polyakov
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-22sha256-armv4.pl: fix typo.Andy Polyakov
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-07Fix irix-cc build.Andy Polyakov
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-01-04Remove inconsistency in ARM support.Andy Polyakov
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>