Hi,

> This patch adds support to Intel AES-NI instruction set for x86_64
> platform.

I apologize for delay. Promised to comment on submission in question.
Well, after some consideration I reckoned that it would take longer to
discuss it than to implement own version of assembler module. Having own
code also makes it easier for me to maintain it:-) The module is
available for preview at
http://www.openssl.org/~appro/eng_aesni-x86_64.pl.txt. Major points are,
all addressed in the new code:

- why full unroll?
- why 4x interleave when aesenc latency is [anticipated to be] 6?
- why post-4x processing is done with non-interleaved routine, when
interleaved can be used?
- why not encode all aes instructions with .byte?
- instruction scheduling in key setup can be [much] better;

See code and comments in code for further details. I'd appreciate if you
could review and cross-test the code. [Counter-]comments and suggestions
are naturally welcomed. The code will be committed to repository as soon
as remaining issues are resolved. Remaining are build issue (as you
pointed out yourself) and actual tests on Win64. Note that I suggest to
name module eng_aesni-x86_64.pl instead of _asm. This implies that
eventually there will be 32-bit version too. Cheers. A.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to