PM, > Though I am not a member of the OpenSSL team, I totally agree with you. > As for the AES, the Westmere CPUs have also a new instruction for the > GHASH (pclmulqdq / _mm_clmulepi64_si128).
It's not an instruction *for* GHASH, it's an instruction that among other thing can be used for GHASH. > This as well is only available > as intrinsic or in native assembler. > > So, when I offered some weeks ago a contribution regarding the GHASH for > the GCM, (now with a fallback from pclmulqdq to SSE2 to native C), I was > instructed that (at least inline) assembler or intrinsics are not an > option for OpenSSL. > >> Inline assembler (or exotic intrinsics) is not considered >> as viable option for MMX/SSE (or any code bigger than couple of >> instructions), perlasm code is. Do you think it's groundless and totally unreasonable? Well, it's more of a rhetorical question... > As all major compilers for Intel CPUs support intrinsics and, Well, I have neither of them. Of course it's not *completely* true, but OpenSSL does not assume that availability of such compilers is universal. And I know it's appreciated. > if used > correctly, optimize to the same instructions as direct assembler, It's just that we have seen one too many compiler bugs, have observed how performance varies among compiler versions, how compilers do poor job allocating registers (and just poor job)... > IMHO > these policies should be reconsidered to keep OpenSSL competitive. ??? Are OpenSSL assembler modules slower than compiler generated code? Is perlasm less portable than intrinsics? > For good reasons perlasm is not an option for a company like Intel. ??? OpenSSL is not Intel... > To get > a solution, I now use a self-patched version of OpenSSL with intrinsics > which fulfills my and my customer's requirements. Then fight for it (but not in this thread!). Your SSE2 code was effectively dismissed, because it was slower. At least it was my conclusion and as you didn't refute it, I assume it was correct. Well, I still wouldn't actually accept intrinsic-based code, but ideas could have been used in assembler. Cheers. A. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org