Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CACYkhxinOCg_umxmbUs2nn4kt_cvktcL+jL6qUTHv8dm+ZRHBA@mail.gmail.com>
Date: Mon, 21 Oct 2013 11:36:50 +1100
From: Michael Samuel <mik@...net.net>
To: john-dev@...ts.openwall.com
Subject: Re: Bad version of Intel OpenCL CPU driver

On 21 October 2013 09:50, magnum <john.magnum@...hmail.com> wrote:
> It dies from this statement in line 73 of phpass kernel:
>         a = ROTATE_LEFT(a, S11);
>
> ...and ROTATE_LEFT is defined in line 22:
> #define ROTATE_LEFT(x, s)       rotate(x,(uint)s)

I ran across this with my otp-md5 stuff.  Doing old-school C rotate
works fine and seems to use a native rot instruction if it's better
for all the LLVM based drivers.

I also found in older Intel drivers, it would pop everything out of
the AVX registers, do a 'rol' instruction, then put them back on -
which was definitely not faster than 2 AVX shifts and an or.

(Not that this excuses the brokenness)

Regards,
  Michael

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.