[openssl-dev] [openssl.org #3843] OpenSSL 1.0.1* and below: incorrect use of _lrotl()

Lei Zhang via RT rt at openssl.org
Tue May 26 14:35:25 UTC 2015


> On May 26, 2015, at 4:57 PM, Andy Polyakov <appro at openssl.org> wrote:
> 
>>>> And linux-x86_64 won't work here, since it uses some instructions not supported by MIC. 
>>> 
>>> But all x86_64 modules feature run-time switch, when processor
>>> capabilities are detected [with cpuid] and code that can't be executed
>>> on any particular processor won't execute. Or do you mean that fails to
>>> *compile* it with -mmic? Or do you mean that cpuid doesn't work on mic?
>>> But I recall that there is cpuid...
>> 
>> It fails to compile with -mmic:
>> x86_64cpuid.s:165: Error: `pxor' is not supported on `k1om'
> 
> I see, thanks. In other words, as it turns out my suggestion about
> run-time switch does not apply in this case, because minimum of SSE2 is
> actually *assumed* for x86_64 platform. And this doesn't hold true for
> Knights Corner. But it does hold true for Knights Landing, doesn't it?

Yes, Knights Landing supposedly implements AVX512, which is backward compatible with older SIMD instructions.

> I see no point in attempting to accommodate assembler support for Knights
> Corner (too rare processor) and would appreciate if you could confirm if
> following works with 1.0.2:
> 
> ./Configure linux-x86_64-icc no-asm -mmic

Yes, it works. 

Solar, should I update JtR's READ-MIC to switch back to using OpenSSL? BTW, I'm not sure if switching between OpenSSL and LibreSSL would cause performance variation.


Lei




More information about the openssl-dev mailing list