Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 16 May 2012 16:21:22 +0800
From: myrice <>
Subject: Re: Myrice: Weekly Report #5

On Wed, May 16, 2012 at 3:28 PM, magnum <> wrote:
> Are you having problems with swap64 only, or other things too?

Now I think it is only the SWAP64. Maybe I have to change it into
other forms. But from my experiment, if followings are true, I think
the problem is complex and all 64bit operation will be influenced.

I find problems with bit operation like: &, | and <<.
I think compiler optimization does something strange. If I use two of
bit operations in a sentence like: n = (a & 0xff) << 32, the result
will be 0 when the operation on high 32bit of a 64bit variable.
I have tried using violate variables to avoid this. Such as: violate
ulong a; a &= 0xff; n = a << 32; This would be correct. If I use a for
next sentence, the a will be 0 also.

I suspect the AMD OpenCL compiler has some bugs with 64bit bit operation.


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.