Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120105180159.GA11418@openwall.com>
Date: Thu, 5 Jan 2012 22:01:59 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: gcc versions

On Thu, Jan 05, 2012 at 04:35:41PM +0100, magnum wrote:
> Great! So it seems we should use 1-1-1 for any version of gcc older than 
> 4.4.5. I presume there is a macro for the third digit.

Yes.  It's __GNUC_PATCHLEVEL__.

> I'm still curious to know at what gcc version we would have to disable 
> intrinsics completely. Maybe we should still do it for <4.0?

I thought so, but:

gcc version: gcc (gcc version 3.4.6)
Best paras:
  raw-MD4: 1  (13852K c/s)
crypt-MD5: 3  (9808 c/s)
 raw-SHA1: 1  (6500K c/s)

(same machine).  It is curious that crypt-MD5 was fastest at PARA 3, but
it's slower than no-intrinsics anyway (the X2 code provided over 10000 c/s).
For raw-MD4 and raw-SHA1, I'm not sure - I'll need to obtain
no-intrinsics numbers for them for this version of gcc (although I think
the fallback will be to Bartavelle's assembly code, so the gcc version
should not matter much).

> I'm pretty sure we can assume 1-1-1 for 32-bit < 4.4.5 too even if 
> untested. I do not think I have ever seen a 32-bit build getting a 
> higher best para than 64-bit for a specific version.

Yes.  The question is whether to go higher than 1-1-1 for 4.4.6+ or not
(on 32-bit builds).

Alexander

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.