Changeset 12235 in vbox
- Timestamp:
- Sep 8, 2008 4:15:40 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/asm.h
r12232 r12235 3788 3788 uint32_t u32EBX = 0; 3789 3789 Assert(!((uintptr_t)pu64 & 7)); 3790 __asm__ __volatile__("xchgl %%ebx, %3\n\t" 3791 "lock; cmpxchg8b (%5)\n\t" 3790 __asm__ __volatile__("xor %%eax,%%eax\n\t" 3791 "xor %%ecx,%%ecx\n\t" 3792 "xor %%edx,%%edx\n\t" 3793 "xchgl %%ebx, %2\n\t" 3794 "lock; cmpxchg8b (%3)\n\t" 3792 3795 "movl %3, %%ebx\n\t" 3793 3796 : "=A" (u64), 3794 3797 "+m" (*pu64) 3795 : "0" (0), 3796 "m" (u32EBX), 3797 "c" (0), 3798 : "m" (u32EBX), 3798 3799 "S" (pu64)); 3799 3800 # else /* !PIC */
Note:
See TracChangeset
for help on using the changeset viewer.