From: Andy Polyakov Date: Fri, 27 Dec 2002 14:51:49 +0000 (+0000) Subject: UltraSPARC performance "tune-up." X-Git-Tag: OpenSSL_0_9_7a~86^2~53 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0a2407a8514a2b4580a691aaeff71b328fb6d119;p=oweals%2Fopenssl.git UltraSPARC performance "tune-up." --- diff --git a/PROBLEMS b/PROBLEMS index 56bc73816b..4bf31303be 100644 --- a/PROBLEMS +++ b/PROBLEMS @@ -62,3 +62,11 @@ What happens is that gcc might optimize a little too agressively, and you end up with an extra incrementation when *header != '4'. We recommend that you upgrade gcc to as high a 3.x version as you can. + +* solaris64-sparcv9-cc SHA-1 performance with WorkShop 6 compiler. + +As subject suggests SHA-1 might perform poorly (4 times slower) +if compiled with WorkShop 6 compiler and -xarch=v9. The cause for +this seems to be the fact that compiler emits multiplication to +perform shift operations:-( To work the problem around configure +with './Configure solaris64-sparcv9-cc -DMD32_REG_T=int'. diff --git a/crypto/md5/md5_locl.h b/crypto/md5/md5_locl.h index 34c5257306..85ae99210c 100644 --- a/crypto/md5/md5_locl.h +++ b/crypto/md5/md5_locl.h @@ -68,7 +68,7 @@ #ifdef MD5_ASM # if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) # define md5_block_host_order md5_block_asm_host_order -# elif defined(__sparc) && defined(OPENSSL_SYS_ULTRASPARC) +# elif defined(__sparc) && defined(OPENSSL_SYSNAME_ULTRASPARC) void md5_block_asm_data_order_aligned (MD5_CTX *c, const MD5_LONG *p,int num); # define HASH_BLOCK_DATA_ORDER_ALIGNED md5_block_asm_data_order_aligned # endif