From snapshot in May with SSE2 enabled:type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes sha-512 3171.75k 12757.93k 22761.88k 34514.56k 40059.42k
But now it's back to non-SSE2 speed: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes sha512 989.46k 4050.75k 5940.56k 8041.45k 9160.15k << !!
All this using djgpp under a Win-XP DOS box on a 2.1GHz P4. What did I do wrong?
Latest relevant update is more picky and requires yet another assembler module compiled and linked in.
Built with gcc 3.3.1 and as 2.13. These are some of my CFLAGS as reported by "openssl speed sha512":
-O2 -fno-strength-reduce -fomit-frame-pointer
-DOPENSSL_NO_HW=1 -DMD5_ASM=1 -DSHA1_ASM=1 -DOPENSSL_BN_ASM_PART_WORDS=1 -DTHIRTY_TWO_BIT
-DOPENSSL_IA32_SSE2 -DOPENSSL_CPUID_OBJ
And $OPENSSL_ia32cap=0x4000000. Shouldn't this be okay? I'm using my own makefile that's been working fine for years.
I'd rather discuss proper and complete support for assembler modules in DJGPP than trying to figure out what went wrong with your custom setup:-) Note that assembler modules were recently thrown into DJGPP config line. Try it out and tell what went wrong (and preferably how to make it work:-)
perl.exe -I./crypto/perlasm -I./crypto/bn/asm -I./crypto/des/asm \ crypto/sha/asm/sha512-sse2.pl cpp 386 > ./obj/tmp.c gcc.exe -E -DOUT -Wall <more CFLAGS> ./obj/tmp.c | as.exe -o obj/sha512-sse2.o {standard input}: Assembler messages: {standard input}:306: Warning: alignment too large: 15 assumed
Disassembling the 3MByte (!) sha512-sse2.o show *huge* blocks of "nop"s caused by the "&align(16);" (?). Doesn't "as" interpret that as align 2^16?
It surely does. Fix for that was recently added too. Well, "fix" is probably not totally appropriate here, because the suggestion is to switch from 'perl whatever.pl cpp' to 'perl *.pl a.out'. It's a.out output which should generate appropriate .align directives and should be used instead. A.
______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]
