[Pkg-openssl-devel] Optimize openssl package

Kurt Roeckx kurt at roeckx.be
Wed Jun 22 17:08:13 UTC 2011


On Wed, Jun 22, 2011 at 01:37:19AM +0000, Nobuhiro Iwamatsu wrote:
> Dear Debian OpenSSL Team.
> 
> The product for i386 of opessl is optimized for some CPU's.
> The i486 should be optimized by i486, but cmov order is used when I do objdump.
> 
> $ objdump -D usr/lib/i486/libcrypto.so.1.0.0 | grep cmovg
>   15b09b:	0f 4f 0f             	cmovg  (%edi),%ecx
>   160fe9:	0f 4d 42 ff          	cmovge -0x1(%edx),%eax
> 
> But old openssl (libssl0.9.7_0.9.7e-3sarge5_i386.deb) does not have cmov order.
> 
> $ objdump -D usr/lib/i486/libcrypto.so.0.9.7| grep cmovg
> 
> Is this bug of gcc ?
> Could you give me any comment?

It clearly shouldn't be doing that, only the
/usr/lib/i686/cmov/libcrypto.so.1.0.0 is supposed to have cmov
instructions in it.

But as far as I can see, there is no assembler for the i386
version using cmov because it's just slow.  It even seems to have
this is the /usr/lib/libcrypto.so.0.9.8 and for alot of version
and in /usr/lib/libcrypto.so.1.0.0.  Those are libraries which
don't use the assembler.  So this would all be gcc generating it.


Kurt




More information about the Pkg-openssl-devel mailing list