OPENSSL_armcap_P, OPENSSL_ia32_P, OPENSSL_ppccap_P

Roger No-Spam roger_no_spam at
Tue Sep 3 09:54:05 UTC 2019


I'm using openssl on a platform/OS that supports multiple CPU architectures. The context switching does not save SIMD registers unless the thread has a special options set. This creates some challenges when using openssl, which use SIMD registers in several assembler optimizations. I would like to ensure that no assembler optimization can be used if the special option is not set. If the appropriate bits in OPENSSL_armcap_P/OPENSSL_ia32_P/OPENSSL_ppccap_P is disabled, will that guarantee that no instructions using SIMD registers are executed? There is some OPENSSL_XXXcap_P code within
#ifndef __KERNEL__
which indicates that openssl is used in the linux kernel. I believe the linux kernel would have a similar situation regarding SIMD registers. Floating point operations and operations SIMD registers cannot be used in the linux kernel. But I am unable to find any information that confirms that this would cover all code paths.

Regards Roger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the openssl-users mailing list