Changeset 6385 in vbox
- Timestamp:
- Jan 18, 2008 9:40:08 PM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 27331
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/asm.h
r6334 r6385 2490 2490 # if RT_INLINE_ASM_USES_INTRIN 2491 2491 u32 = _InterlockedIncrement((long *)pu32); 2492 return u32; 2492 2493 2493 2494 # elif RT_INLINE_ASM_GNU_STYLE 2494 2495 __asm__ __volatile__("lock; xaddl %0, %1\n\t" 2495 "incl %0\n\t"2496 2496 : "=r" (u32), 2497 2497 "=m" (*pu32) 2498 2498 : "0" (1) 2499 2499 : "memory"); 2500 return u32+1; 2500 2501 # else 2501 2502 __asm … … 2509 2510 lock xadd [edx], eax 2510 2511 # endif 2511 inc eax2512 2512 mov u32, eax 2513 2513 } 2514 # endif 2515 return u32; 2514 return u32+1; 2515 # endif 2516 2516 } 2517 2517 #endif … … 2544 2544 # if RT_INLINE_ASM_USES_INTRIN 2545 2545 u32 = _InterlockedDecrement((long *)pu32); 2546 return u32; 2546 2547 2547 2548 # elif RT_INLINE_ASM_GNU_STYLE 2548 2549 __asm__ __volatile__("lock; xaddl %0, %1\n\t" 2549 "decl %0\n\t"2550 2550 : "=r" (u32), 2551 2551 "=m" (*pu32) 2552 2552 : "0" (-1) 2553 2553 : "memory"); 2554 return u32-1; 2554 2555 # else 2555 2556 __asm … … 2563 2564 lock xadd [edx], eax 2564 2565 # endif 2565 dec eax2566 2566 mov u32, eax 2567 2567 } 2568 # endif 2569 return u32; 2568 return u32-1; 2569 # endif 2570 2570 } 2571 2571 #endif
Note:
See TracChangeset
for help on using the changeset viewer.