Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 24 Dec 2011 11:32:27 +0100
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: MD5 intrinsics compile-time condition

On 12/24/2011 03:34 AM, magnum wrote:
> On 12/23/2011 04:49 PM, Solar Designer wrote:
>> Apparently, the condition that enables the use of intrinsics is not the
>> same for md5 vs. dynamic_27 and 28, and apparently it is non-optimal for
>> md5 for certain gcc version(s) (I guess Apple's gcc 4.2).
...
> The current code picks PARA 3 (12x) for any gcc other than 4.5. I
> recently tweaked those tests after empirical tests with 4.4, 4.5 and 4.6
> (and clang and icc) - the versions that were available in my Ubuntu repo
> at the time. I suppose PARA 1 (4x) would be the safe choice for any
> untested version and it should always be faster than disabling SSE.

Here is a patch that rather reverts to 4x than disable intrinsics for 
MD5. On some builds, it will probably boost MD5 but ruin some other 
formats until we add more tests for individual gcc versions < 4.4. And 
it's quite possible we actually never have to go below 8x.

BTW, note that 64i and sse2i builds are not affected by this issue at all.

magnum

View attachment "0029-MD5_std-vs-intrinsics-arch.h-PARA-fixes.patch" of type "text/x-patch" (2383 bytes)

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.