Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 11 Nov 2011 15:05:28 -0600
From: "jfoug" <jfoug@....net>
To: <john-dev@...ts.openwall.com>
Subject: RE: more targets using sse-intrinsics.S

>From: magnum [mailto:john.magnum@...hmail.com]
>
>These problems must have been there with the sse2i targets all the time.

No, it takes unique code for SSE in mmx-sse.S and unique code for SSE in sse- intrinsics.c   These files do not have the 2nd, only the first.

Thus, they rock under 32 bit SSE builds, but suck under 64 bit (or any intrinsic builds).  This was what original md5_gen did.  Under intrisics it reverted back to x86 code.  Once the additional logic was added, intrisics worked.  The big difference, is we will likely need to change to an array of SSE buffers, vs a single buffer of MMX_COEF.  We need SSE_PARA buffers of MMX_COEF.  The changes are not too hard, but DO take some time and finesse.   One of the formats (pix-md5), we should simply make thin, and link to dynamic_19, which already has x86, SSE2 (mmx-sse) and SSE2i (sse-intrisics).  The other formats will have to be tweaked to properly use sse-intrisics.

>Would it be possible to build with both mmx-md5.S and
>sse-intrinsics-32.S as an interim fix? Maybe that's not less work...

Yes.  I have done that in the past. But that ONLY works for 32 bit.  Thus, this does not provide any interim 'fix' for 64 bit builds. Also, the arch.h files have to be 'tweaked' to use both

>magnum
>
>
>2011-11-11 21:45, jfoug wrote:
>> Here are some things we will need to work on.  These timings are
>against SSE2 built with mmx-md5.S and sse-intrisic-32.S

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.