openssl/crypto/poly1305/asm
Andy Polyakov 64d92d7498 x86_64 assembly pack: "optimize" for Knights Landing, add AVX-512 results.
"Optimize" is in quotes because it's rather a "salvage operation"
for now. Idea is to identify processor capability flags that
drive Knights Landing to suboptimial code paths and mask them.
Two flags were identified, XSAVE and ADCX/ADOX. Former affects
choice of AES-NI code path specific for Silvermont (Knights Landing
is of Silvermont "ancestry"). And 64-bit ADCX/ADOX instructions are
effectively mishandled at decode time. In both cases we are looking
at ~2x improvement.

AVX-512 results cover even Skylake-X :-)

Hardware used for benchmarking courtesy of Atos, experiments run by
Romain Dolbeau <romain.dolbeau@atos.net>. Kudos!

Reviewed-by: Rich Salz <rsalz@openssl.org>
2017-07-21 14:07:32 +02:00
..
poly1305-armv4.pl Add OpenSSL copyright to .pl files 2016-05-21 08:23:39 -04:00
poly1305-armv8.pl poly1305/asm/poly1305-armv8.pl: ilp32-specific poly1305_init fix. 2017-03-13 18:46:11 +01:00
poly1305-c64xplus.pl Add OpenSSL copyright to .pl files 2016-05-21 08:23:39 -04:00
poly1305-mips.pl MIPS assembly pack: adapt it for MIPS[32|64]R6. 2016-09-02 13:33:17 +02:00
poly1305-ppc.pl spelling fixes, just comments and readme. 2016-08-05 19:07:30 -04:00
poly1305-ppcfp.pl Add OpenSSL copyright to .pl files 2016-05-21 08:23:39 -04:00
poly1305-s390x.pl Add OpenSSL copyright to .pl files 2016-05-21 08:23:39 -04:00
poly1305-sparcv9.pl SPARC assembly pack: enforce V8+ ABI constraints. 2016-07-01 14:25:38 +02:00
poly1305-x86.pl Remove filename argument to x86 asm_init. 2017-05-11 17:00:23 -04:00
poly1305-x86_64.pl x86_64 assembly pack: "optimize" for Knights Landing, add AVX-512 results. 2017-07-21 14:07:32 +02:00