Changeset 7637 in vbox
- Timestamp:
- Mar 28, 2008 6:48:06 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/asm.h
r7633 r7637 2197 2197 DECLASM(bool) ASMAtomicCmpXchgU32(volatile uint32_t *pu32, const uint32_t u32New, const uint32_t u32Old); 2198 2198 #else 2199 DECLINLINE(bool) ASMAtomicCmpXchgU32(volatile uint32_t *pu32, const uint32_t u32New, constuint32_t u32Old)2199 DECLINLINE(bool) ASMAtomicCmpXchgU32(volatile uint32_t *pu32, const uint32_t u32New, uint32_t u32Old) 2200 2200 { 2201 2201 # if RT_INLINE_ASM_GNU_STYLE 2202 2202 uint8_t u8Ret; 2203 __asm__ __volatile__("lock; cmpxchgl % 2, %0\n\t"2203 __asm__ __volatile__("lock; cmpxchgl %3, %0\n\t" 2204 2204 "setz %1\n\t" 2205 2205 : "=m" (*pu32), 2206 "=qm" (u8Ret) 2206 "=qm" (u8Ret), 2207 "=a" (u32Old) 2207 2208 : "r" (u32New), 2208 " a" (u32Old));2209 "2" (u32Old)); 2209 2210 return (bool)u8Ret; 2210 2211
Note:
See TracChangeset
for help on using the changeset viewer.