aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/aes/asm
Commit message (Collapse)AuthorAgeFilesLines
* x86 assembly pack: update performance results.Andy Polyakov2016-12-191-0/+2
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* PPC assembler pack: add some PPC970/G5 performance data.Andy Polyakov2016-11-111-1/+2
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* aes/asm/aesp8-ppc.pl: improve [backward] portability.Andy Polyakov2016-11-101-1/+1
| | | | | | | | Some of stone-age assembler can't cope with r0 in address. It's actually sensible thing to do, because r0 is shunted to 0 in address arithmetic and by refusing r0 assembler effectively makes you understand that. Reviewed-by: Rich Salz <rsalz@openssl.org>
* x86_64 assembly pack: add Goldmont performance results.Andy Polyakov2016-10-243-0/+4
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Fix strict-warnings buildPatrick Steuer2016-10-181-4/+4
| | | | | | | | | | | | | | | | | crypto/evp/e_aes.c: Types of inp and out parameters of AES_xts_en/decrypt functions need to be changed from char to unsigned char to avoid build error due to '-Werror=incompatible-pointer-types'. crypto/aes/asm/aes-s390x.pl: Comments need to reflect the above change. Signed-off-by: Patrick Steuer <psteuer@mail.de> Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> CLA: trivial
* Remove trailing whitespace from some files.David Benjamin2016-10-1017-71/+71
| | | | | | | | | | | | | | | | | | 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>
* MIPS assembly pack: adapt it for MIPS[32|64]R6.Andy Polyakov2016-09-021-22/+65
| | | | | | | | | 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>
* ARMv8 assembly pack: add Samsung Mongoose results.Andy Polyakov2016-08-162-0/+2
| | | | Reviewed-by: Tim Hudson <tjh@openssl.org>
* spelling fixes, just comments and readme.klemens2016-08-054-4/+4
| | | | | Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1413)
* aes/asm/aesfx-sparcv9.pl: switch to fshiftorx to improve single-blockAndy Polyakov2016-07-161-124/+226
| | | | | | | | and short-input performance. [Fix bug in misaligned output handling.] Reviewed-by: Richard Levitte <levitte@openssl.org>
* SPARC assembly pack: enforce V8+ ABI constraints.Andy Polyakov2016-07-161-8/+11
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* aes/asm/aesfx-sparcv9.pl: add "teaser" CBC and CTR subroutines.Andy Polyakov2016-07-161-28/+747
| | | | | | [Also optimize aligaddr usage in single-block subroutines.] Reviewed-by: Rich Salz <rsalz@openssl.org>
* aes/asm/bsaes-armv7.pl: omit redundant stores in XTS subroutines.Andy Polyakov2016-06-201-20/+2
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* aes/asm/bsaes-armv7.pl: fix XTS decrypt test failure.Andy Polyakov2016-06-201-1/+1
| | | | | | RT#4578 Reviewed-by: Rich Salz <rsalz@openssl.org>
* aes/asm/aesp8-ppc.pl: implement "tweak chaining".Andy Polyakov2016-06-141-54/+126
| | | | | | | This is useful in Linux kernel context, in cases data happens to be fragmented and processing can take multiple calls. Reviewed-by: Rich Salz <rsalz@openssl.org>
* aes/asm/aesp8-ppc.pl: add XTS subroutines.Andy Polyakov2016-06-141-0/+1784
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add final(?) set of copyrights.Rich Salz2016-06-011-0/+7
| | | | | | | | | Add copyright to missing assembler files. Add copyrights to missing test/* files. Add copyrights Various source and misc files. Reviewed-by: Richard Levitte <levitte@openssl.org>
* x86_64 assembly pack: tolerate spaces in source directory name.Andy Polyakov2016-05-297-7/+7
| | | | | | [as it is now quoting $output is not required, but done just in case] Reviewed-by: Richard Levitte <levitte@openssl.org>
* SPARC assembly pack: add missing .type directives.Andy Polyakov2016-05-281-0/+4
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Add OpenSSL copyright to .pl filesRich Salz2016-05-2124-24/+192
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* MIPS assembly pack: fix MIPS64 assembler warnings.Andy Polyakov2016-05-041-6/+8
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* s390x assembly pack: cache capability query results.Andy Polyakov2016-04-251-19/+10
| | | | | | | | | 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>
* Add AES assembly module for Fujitsu SPARC64 X/X+.Andy Polyakov2016-04-201-0/+435
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* PPC assembly pack: remove branch hints.Andy Polyakov2016-04-071-2/+2
| | | | | | | | | | 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>
* Fix some assembler generating scripts for better unificationRichard Levitte2016-03-115-8/+8
| | | | | | | | | | | 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>
* Unified - adapt the generation of aes assembler to use GENERATERichard Levitte2016-03-093-0/+18
| | | | | | | | | This gets rid of the BEGINRAW..ENDRAW sections in crypto/aes/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>
* SPARCv9 assembly pack: unify build rules and argument handling.Andy Polyakov2016-03-082-11/+17
| | | | | | | | | | 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>
* GH601: Various spelling fixes.FdaSilvaYY2016-02-052-2/+2
| | | | | Signed-off-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* x86_64 assembly pack: tune clang version detection even further.Andy Polyakov2015-12-133-3/+3
| | | | | | RT#4171 Reviewed-by: Kurt Roeckx <kurt@openssl.org>
* x86[_64] assembly pack: add optimized AES-NI OCB subroutines.Andy Polyakov2015-12-102-11/+1889
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* ARMv4 assembly pack: allow Thumb2 even in iOS build,Andy Polyakov2015-12-072-0/+2
| | | | | | and engage it in most modules. Reviewed-by: Tim Hudson <tjh@openssl.org>
* x86_64 assembly pack: tune clang version detection.Andy Polyakov2015-11-233-3/+3
| | | | | | RT#4142 Reviewed-by: Richard Levitte <levitte@openssl.org>
* aes/asm/vpaes-ppc.pl: eliminate overhung stores in misaligned cases.Andy Polyakov2015-11-181-62/+136
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* aesni-sha256-x86_64.pl: fix crash on AMD Jaguar.Andy Polyakov2015-11-161-5/+2
| | | | | | | 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>
* Fix typosAlessandro Ghedini2015-10-231-1/+1
| | | | | Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Skylake performance results.Andy Polyakov2015-09-263-0/+4
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* ARMv4 assembly pack: implement support for Thumb2.Andy Polyakov2015-09-251-14/+10
| | | | | | | 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>
* Conversion to UTF-8 where neededRichard Levitte2015-07-142-9/+9
| | | | | | | | 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>
* aes/asm/bsaes-armv7.pl: fix compilation with Xcode 6.3.Andy Polyakov2015-05-131-2/+2
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* aes/asm/aesni-sha256-x86_64.pl: fix Windows compilation failure with old ↵Andy Polyakov2015-05-131-3/+3
| | | | | | assembler. Reviewed-by: Matt Caswell <matt@openssl.org>
* aes/asm/aesni-x86.pl: fix typo affecting Windows build.Andy Polyakov2015-04-201-1/+1
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* aes/asm/aesni-x86[_64].pl update.Andy Polyakov2015-04-202-239/+1025
| | | | | | | | | | | | | 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>
* Add assembly support for 32-bit iOS.Andy Polyakov2015-04-202-12/+70
| | | | | Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* aes/asm/vpaes-armv8.pl: make it compile on iOS.Andy Polyakov2015-04-201-5/+8
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* aes/asm/aesv8-armx.pl: optimize for Cortex-A5x.Andy Polyakov2015-04-021-91/+118
| | | | | | | | | | | | | 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>
* Add vpaes-amrv8.pl module.Andy Polyakov2015-03-281-0/+1248
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* aes/asm/bsaes-armv7: fix kernel-side XTS and harmonize with Linux.Andy Polyakov2015-02-241-1/+3
| | | | | | XTS bug spotted and fix suggested by Adrian Kotelba. Reviewed-by: Tim Hudson <tjh@openssl.org>
* Add assembly support to ios64-cross.Andy Polyakov2015-01-231-3/+11
| | | | | | Fix typos in ios64-cross config line. Reviewed-by: Tim Hudson <tjh@openssl.org>
* Fix macosx-ppc build (and typos in unwind info).Andy Polyakov2015-01-221-2/+4
| | | | Reviewed-by: Tim Hudson <tjh@openssl.org>
* Fix irix-cc build.Andy Polyakov2015-01-071-1/+1
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>