Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 25 Feb 2011 11:26:46 +0300
From: Solar Designer <>
Subject: Re: bitslice DES on AVX


Here's another update.  This time, I've added make targets for 32-bit
Linux systems (linux-x86-avx and linux-x86-xop).  Like before, they're
tested under Intel's Software Development Emulator - the AVX one works
(approx. 40% slower than it does with linux-x86-64-avx under 64-bit
Linux on the same machine), the XOP one crashes on vpcmov with "Illegal
instruction", as expected.

Make targets for non-Linux systems may be added easily, but I did not
bother doing it yet.

The new patch (john-1.7.6-avx-3.diff) is attached to this message and
uploaded to the wiki:

More detailed announcement of the previous revision (most of what I
wrote there still applies):

If you try this out on a real CPU or on a XOP emulator, please post your
results to john-users.  Seriously, with 1000+ subscribers we ought to
have someone with an AVX-capable CPU already.  These are available for
purchase since early January.  Anyone?

A week ago, Phoronix published benchmarks of JtR on Core i7
2820QM mobile "Sandy Bridge" CPU clocked at 2.3 GHz (perhaps with Turbo
Boost to a higher frequency).  According to those, JtR does over
3.8M c/s on a single core with its pre-generated SSE2 assembly code
(which is why there's almost no difference across C compilers):

This is quite impressive.  I wonder how a CPU like this will perform
when we go from SSE2 instructions (2-op 128-bit) to AVX (3-op 256-bit
or 128-bit).



View attachment "john-1.7.6-avx-3.diff" of type "text/plain" (8406 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.