Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 4 Dec 2011 00:06:15 +0400
From: Solar Designer <>
Subject: Re: Use of ICC

On Sat, Dec 03, 2011 at 01:26:46PM -0500, Erik Winkler wrote:
> Thanks, that helped, but I also had to set #define JOHN_AVX as this was not being set either.

I expected that you defined a make target similar to linux-x86-64-avx,
which has -DJOHN_AVX in the right place.

> It compiles a running binary, but I had to comment out xgetbv in x86-64.S as I was getting this error:
> no such instruction: `xgetbv'

Oh, I thought that any assembler capable of AVX instructions would also
recognize this one, which is closely related.

What does "as --version" say?

In fact, I thought that the reason why you were not able to build with
AVX before was old version of binutils (specifically, as) - but this is
not affected by you moving from gcc to icc, is it?  Since your build
succeeded now, I think you'd be able to build with gcc as well.

> Here are some benchmarks,

It looks like you got lucky in terms of DES_bs_all alignment.  The
program could as well segfault.

Can you try an OpenMP build?  With those, DES_bs.[ch] actually ensure
proper alignment in a way that is not gcc-specific.

> Benchmarking: Traditional DES [128/128 BS AVX-16]... DONE
> Many salts:	5616K c/s real, 5616K c/s virtual
> Only one salt:	5323K c/s real, 5323K c/s virtual

Looks good.



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.