Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Mon, 25 May 2015 09:38:06 +0200
From: magnum <>
Subject: Re: AVX2

On 2015-05-24 05:45, Solar Designer wrote:
> On Fri, May 22, 2015 at 06:26:45PM +0200, magnum wrote:
>> I noticed the contest AVX2 core patch and tried applying it to Jumbo. It
>> works like a champ, including with Deepika's formats. Can I commit this
>> to bleeding for now?
> You may, but I'm afraid it breaks a few things:

Yes, I added some fixes in a separate commit.

> It replaces 256-bit AVX with AVX2, rather than adds AVX2 as an extra for
> capable CPUs.  This might result in AVX2 use attempted in AVX builds.
> Even if not, it'd make 256-bit AVX no longer available for 32-bit
> builds with AVX (and without AVX2), which might result in slightly worse
> performance on Sandy/Ivy Bridge and Bulldozer/Piledriver when running
> 32-bit OS.  I previously used 256-bit AVX on those as a way to partially
> compensate for 32-bit mode's lower register count.  I might choose to
> drop this anyway, though.

I opted to drop it and reuse that section for AVX2 much like like you 
did for 64-bit.

> IIRC, it also reduces DES_bs_cpt from 32 to 16 unconditionally.  This
> should be wrapped in #ifdef __AVX2__ (or maybe this value should come
> from the arch-specific .h files instead).  Trivial to fix, indeed.

I just added #if __AVX2__ here. For 64-bit I obviously changed the new 
#elif 1 to #elif __AVX2__.

> I've been meaning to add AVX2 detection to CPU_detect in x86-64.S and
> x86.S.  Right now, I guess it will crash when run on a CPU not
> supporting AVX2.

Yes, we'll just live with this bug in Jumbo until fixed in core.

This is now committed to bleeding-jumbo: (contest patch) (my fixes)


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.