> I have had the same code run fine on one hardware platform, and
> crash on another with an illegal instruction.  DIsabling AESNI intrinsics
> solved the problem, but it also means you won't get the performance
> boost of the AESNI instruction set on hardware that has it.

This issue creeps in on occasion. See, for example, "Failing on call to 
_mm_loadu_si128() with AESNI intrinsics enabled", 
http://stackoverflow.com/q/22100851/608639.

The solution is to select the implementation at runtime, and not compile 
time. I'm not sure if that's a planned feature.

Jeff

On Monday, December 15, 2014 9:33:19 AM UTC-5, Rod wrote:
>
>    I have had an issue with an illegal instruction as well, and it was 
> tied to use of the AESNI intrinsics.  There is code in Crypto++ to read 
> some machine registers to determine whether the registers and instruction 
> set for AESNI are present in the hardware, but it does not always detect 
> correctly.  I have had the same code run fine on one hardware platform, and 
> crash on another with an illegal instruction.  DIsabling AESNI intrinsics 
> solved the problem, but it also means you won't get the performance boost 
> of the AESNI instruction set on hardware that has it.
>
>    A better solution would be to fix the hardware detection code, but I 
> didn't know what it was looking for.
>
> Rod
>

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to