evp/e_chacha20_poly1305.c: further improve small-fragment TLS performance.
authorAndy Polyakov <appro@openssl.org>
Tue, 3 Jul 2018 19:34:08 +0000 (21:34 +0200)
committerAndy Polyakov <appro@openssl.org>
Fri, 6 Jul 2018 14:33:19 +0000 (16:33 +0200)
commit0edb109f97c1bbbd5961326f93b2ccf385b26674
tree524c792459cb807de8d71c1abd1a60e238c13cbb
parent2ce71b60272325c4453914b501a2c2ff1b75c80d
evp/e_chacha20_poly1305.c: further improve small-fragment TLS performance.

Improvement coefficients vary with TLS fragment length and platform, on
most Intel processors maximum improvement is ~50%, while on Ryzen - 80%.
The "secret" is new dedicated ChaCha20_128 code path and vectorized xor
helpers.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6638)
crypto/evp/e_chacha20_poly1305.c
crypto/poly1305/asm/poly1305-x86_64.pl