
1 Apr
2010
1 Apr
'10
8:27 a.m.
Khiszinsky, Maxim wrote:
Tim Blechmann wrote:
are you sure, that _mm_loadl_epi64 is actually atomic in your case? according to the intel manual, the value should be 64bit aligned or should not cross a cache line boundary. are you sure, that this cannot occur?
Yes, atomic64_t is declared as typedef long long __declspec( align(8) ) atomic64_t ;
you may run into issues, when using aligned members in heap-allocated structs: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15795 this hit me once a few years ago... cheers, tim -- tim@klingt.org http://tim.klingt.org When you open windows, bugs get in.