Hi,

On 29.08.2012 17:18, Andy Polyakov wrote:
Hi,

There are alternatives for
x86[_64] platforms [besides AES-NI], namely SSSE3 vpaes-x86[_64] and
bsaes-x86_64 modules. These are accessible through EVP and provide
adequate performance (in comparison to aes_core.c that is, not AES-NI).

Thanks for pointing me at vpaes code. I've tested it and got two contrary results: on Core2, all the timing are worse (619-510-840-591) than mine (279-400-732-385). On Core i5 Lynnfield, the results are best I've ever seen (354-242-442-291). I guess the difference is because of use of pshufb instruction. Anyway, vpaes is very interesting code.



It's not the fact that tables reside in code segment that requires extra
register, but the fact that the code itself is *position independent*. I
mean you can 'mov ebp,_Td2[ebp*]' even if _Td2 is in code segment

Andy, unfortunately I don't quite understand. Can you please show me the small example on perlasm of accessing constant table if there no free register?

--

   SY / C4acT/\uBo             Pavel Semjanov
   _   _         _        http://www.semjanov.com
  | | |-| |_|_| |-|
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to