--- intel_defns.h.orig 2007-06-23 18:57:28.000000000 -0500 +++ intel_defns.h 2007-06-23 18:59:53.000000000 -0500 @@ -44,12 +44,13 @@ #define CAS64(_a, _o, _n) \ ({ __typeof__(_o) __o = _o; \ + _u32 __nhi = ((_n) >> 32); \ __asm__ __volatile__( \ "movl %3, %%ecx;" \ "movl %4, %%ebx;" \ "lock cmpxchg8b %1" \ : "=A" (__o), "=m" (*(volatile unsigned long long *)(_a)) \ - : "0" (__o), "m" (_n >> 32), "m" (_n) \ + : "0" (__o), "m" (__nhi), "m" (_n) \ : "ebx", "ecx" ); \ __o; \ })