Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 8 Jul 2012 10:44:58 +0400
From: Solar Designer <>
Subject: -atom make targets (was: Build error for generic)

On Sat, Jul 07, 2012 at 11:49:48AM +0200, Frank Dittrich wrote:
> Benchmarking: FreeBSD MD5 [32/32]... 3157 c/s real, 3157 c/s virtual
> Benchmarking: FreeBSD MD5 [32/32 X2]... 2720 c/s real, 2720 c/s virtual
> Benchmarking: FreeBSD MD5 [32/32]... 2360 c/s real, 2360 c/s virtual

I think this suggests that MD5_IMM = 0 is a better choice for Atom.
This is totally unexpected to me.  MD5_IMM = 0 is normally for RISC
archs, not for x86.

Frank, do you also get a speedup for MD5 with generic over -x86- builds,
if you try non-jumbo or if you try -x86-any with jumbo?  If so, as Jim
explained, this matters for some dynamic formats in jumbo as well (even
though you obviously get much higher speeds for --format=md5 in jumbo
due to SSE2).

Overall, it does look like we need to add an -atom target (or several,
maybe also for 64-bit and for non-Linux), with up to three changes:

1. BF_X2 disabled (on 32-bit only? or both?)
2. MD5_IMM disabled (and MD5_X2 as well, at least on 32-bit).
3. Uses of SSE2 patched to SSE ("SSE1") where possible.

We'll need to check in x86-*.h files whatever gcc defines when tuning
for Atom, and specify the corresponding gcc option in the -atom targets.
This will also work for -native.  Oh, in fact maybe there's little need
for -atom when we have -native, then.


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.