Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 16 Oct 2015 11:08:55 +0300
From: Pavel Semjanov <>
Subject: Re: 64-bit rotate on AMD GCN

On 16.10.2015 10:17, Solar Designer wrote:
> On 2015-10-15 22:25, Pavel Semjanov wrote:
>> Not working on small numbers and rotate by 8, like ror (0x220, 8).
>> I guess it's bitalign error. The only one mention I found is:
> Ouch.  When you say "on small numbers", do you mean only compile-time
> constants, or also such numbers computed at runtime?

The compile-time constant in my code is assigned to variable, like:

#define sigma0_512(x)    (ROR((x),1)  ^ ROR((x),8)  ^ ((x)>>7))
                T1 = X15=U64(0x220);
                s0 = sigma0_512(X15);

(Yes, it's SHA-512 ;)

> On Thu, Oct 15, 2015 at 11:02:56PM +0200, magnum wrote:
>> What device and driver version(s) did you see that with? I recall Atom
>> told me he'd seen rotate() fail with numbers divisible by 8.  I'm pretty
>> sure he meant the OpenCL function but it could be the same underlying
>> bug. That was in June last year so maybe Cat 14.4 or something. I never
>> saw that very bug surface though.

  I guess I had 15.7. I've just installed 15.7.1 and the bug still 
exists. The GPU is R9 280x. And yes, it's Windows.
If you can't reproduce the bug, I'll send the full code. Anyway, I guess 
it would be safer to define ROR8 separately.


    SY / C4acT/\uBo             Pavel Semjanov
    _   _         _
   | | |-| |_|_| |-|

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.