On Wed, 2009-04-01 at 03:45 +0800, Andy Polyakov wrote: > Hi, > > > This patch adds support to Intel AES-NI instruction set for x86_64 > > platform. > > I apologize for delay.
That's all right. > 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: Thank you very much for your work. > - why full unroll? Just because the unrolled code is not too long. > - why 4x interleave when aesenc latency is [anticipated to be] 6? Yes. It should be 6, I neglect this important information in white paper. > - why post-4x processing is done with non-interleaved routine, when > interleaved can be used? Yes. post-4x processing can be done in interleaved mode. That is faster. > - why not encode all aes instructions with .byte? Just want to encode all aes instructions after some review. Now I think maybe we can define aes instructions as perl function and do encoding via perl. > - 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. I will test your code on real machine. And at least you can test the code with an emulator: SDE, which can be downloaded from following URL: http://linux.softpedia.com/progDownload/Intel-Software-Development-Emulator-Download-44635.html Both Linux and windows are supported. BTW: you want me to prepare the patch or you prepare the patch yourself? Best Regards, Huang Ying
signature.asc
Description: This is a digitally signed message part