Lines Matching refs:pu32
357 * @returns Current *pu32 value
358 * @param pu32 Pointer to the 32-bit variable to update.
359 * @param u32 The 32-bit value to assign to *pu32.
362 DECLASM(uint32_t) ASMAtomicXchgU32(volatile uint32_t *pu32, uint32_t u32);
364 DECLINLINE(uint32_t) ASMAtomicXchgU32(volatile uint32_t *pu32, uint32_t u32)
368 : "=m" (*pu32),
371 "m" (*pu32));
374 u32 = _InterlockedExchange((long *)pu32, u32);
380 mov rdx, [pu32]
385 mov edx, [pu32]
400 * @returns Current *pu32 value
731 * @param pu32 Pointer to the value to update.
732 * @param u32New The new value to assigned to *pu32.
733 * @param u32Old The old value to *pu32 compare with.
736 DECLASM(bool) ASMAtomicCmpXchgU32(volatile uint32_t *pu32, const uint32_t u32New, const uint32_t u32Old);
738 DECLINLINE(bool) ASMAtomicCmpXchgU32(volatile uint32_t *pu32, const uint32_t u32New, uint32_t u32Old)
744 : "=m" (*pu32),
749 "m" (*pu32));
753 return (uint32_t)_InterlockedCompareExchange((long *)pu32, u32New, u32Old) == u32Old;
760 mov rdx, [pu32]
762 mov edx, [pu32]
832 mov rdx, [pu32]
1020 * @param pu32 Pointer to the value to update.
1021 * @param u32New The new value to assigned to *pu32.
1022 * @param u32Old The old value to *pu32 compare with.
1026 DECLASM(bool) ASMAtomicCmpXchgExU32(volatile uint32_t *pu32, const uint32_t u32New, const uint32_t u32Old, uint32_t *pu32Old);
1028 DECLINLINE(bool) ASMAtomicCmpXchgExU32(volatile uint32_t *pu32, const uint32_t u32New, const uint32_t u32Old, uint32_t *pu32Old)
1034 : "=m" (*pu32),
1039 "m" (*pu32));
1043 return (*pu32Old =_InterlockedCompareExchange((long *)pu32, u32New, u32Old)) == u32Old;
1050 mov rdx, [pu32]
1052 mov edx, [pu32]
1130 mov rdx, [pu32]
1507 * @returns Current *pu32 value
1508 * @param pu32 Pointer to the 32-bit variable to read.
1510 DECLINLINE(uint32_t) ASMAtomicReadU32(volatile uint32_t *pu32)
1513 Assert(!((uintptr_t)pu32 & 3));
1514 return *pu32;
1521 * @returns Current *pu32 value
1522 * @param pu32 Pointer to the 32-bit variable to read.
1524 DECLINLINE(uint32_t) ASMAtomicUoReadU32(volatile uint32_t *pu32)
1526 Assert(!((uintptr_t)pu32 & 3));
1527 return *pu32;
2083 * @param pu32 Pointer to the 32-bit variable to write.
2084 * @param u32 The 32-bit value to assign to *pu32.
2086 DECLINLINE(void) ASMAtomicWriteU32(volatile uint32_t *pu32, uint32_t u32)
2088 ASMAtomicXchgU32(pu32, u32);
2095 * @param pu32 Pointer to the 32-bit variable to write.
2096 * @param u32 The 32-bit value to assign to *pu32.
2098 DECLINLINE(void) ASMAtomicUoWriteU32(volatile uint32_t *pu32, uint32_t u32)
2100 Assert(!((uintptr_t)pu32 & 3));
2101 *pu32 = u32;
2448 * @param pu32 Pointer to the value.
2452 DECLASM(uint32_t) ASMAtomicAddU32(uint32_t volatile *pu32, uint32_t u32);
2454 DECLINLINE(uint32_t) ASMAtomicAddU32(uint32_t volatile *pu32, uint32_t u32)
2457 u32 = _InterlockedExchangeAdd((long *)pu32, u32);
2463 "=m" (*pu32)
2465 "m" (*pu32)
2473 mov rdx, [pu32]
2476 mov edx, [pu32]
2595 * @param pu32 Pointer to the value.
2598 DECLINLINE(uint32_t) ASMAtomicSubU32(uint32_t volatile *pu32, uint32_t u32)
2600 return ASMAtomicAddU32(pu32, (uint32_t)-(int32_t)u32);
2684 * @param pu32 Pointer to the value to increment.
2687 DECLASM(uint32_t) ASMAtomicIncU32(uint32_t volatile *pu32);
2689 DECLINLINE(uint32_t) ASMAtomicIncU32(uint32_t volatile *pu32)
2693 u32 = _InterlockedIncrement((long *)pu32);
2699 "=m" (*pu32)
2701 "m" (*pu32)
2709 mov rdx, [pu32]
2712 mov edx, [pu32]
2801 * @param pu32 Pointer to the value to decrement.
2804 DECLASM(uint32_t) ASMAtomicDecU32(uint32_t volatile *pu32);
2806 DECLINLINE(uint32_t) ASMAtomicDecU32(uint32_t volatile *pu32)
2810 u32 = _InterlockedDecrement((long *)pu32);
2816 "=m" (*pu32)
2818 "m" (*pu32)
2826 mov rdx, [pu32]
2829 mov edx, [pu32]
2916 * @param pu32 Pointer to the pointer variable to OR u32 with.
2917 * @param u32 The value to OR *pu32 with.
2920 DECLASM(void) ASMAtomicOrU32(uint32_t volatile *pu32, uint32_t u32);
2922 DECLINLINE(void) ASMAtomicOrU32(uint32_t volatile *pu32, uint32_t u32)
2925 _InterlockedOr((long volatile *)pu32, (long)u32);
2929 : "=m" (*pu32)
2931 "m" (*pu32));
2937 mov rdx, [pu32]
2940 mov edx, [pu32]
2953 * @param i32 The value to OR *pu32 with.
3009 * @param pu32 Pointer to the pointer variable to AND u32 with.
3010 * @param u32 The value to AND *pu32 with.
3013 DECLASM(void) ASMAtomicAndU32(uint32_t volatile *pu32, uint32_t u32);
3015 DECLINLINE(void) ASMAtomicAndU32(uint32_t volatile *pu32, uint32_t u32)
3018 _InterlockedAnd((long volatile *)pu32, u32);
3022 : "=m" (*pu32)
3024 "m" (*pu32));
3030 mov rdx, [pu32]
3033 mov edx, [pu32]
3102 * @param pu32 Pointer to the pointer variable to OR u32 with.
3103 * @param u32 The value to OR *pu32 with.
3106 DECLASM(void) ASMAtomicUoOrU32(uint32_t volatile *pu32, uint32_t u32);
3108 DECLINLINE(void) ASMAtomicUoOrU32(uint32_t volatile *pu32, uint32_t u32)
3112 : "=m" (*pu32)
3114 "m" (*pu32));
3120 mov rdx, [pu32]
3123 mov edx, [pu32]
3136 * @param i32 The value to OR *pu32 with.
3189 * @param pu32 Pointer to the pointer variable to AND u32 with.
3190 * @param u32 The value to AND *pu32 with.
3193 DECLASM(void) ASMAtomicUoAndU32(uint32_t volatile *pu32, uint32_t u32);
3195 DECLINLINE(void) ASMAtomicUoAndU32(uint32_t volatile *pu32, uint32_t u32)
3199 : "=m" (*pu32)
3201 "m" (*pu32));
3207 mov rdx, [pu32]
3210 mov edx, [pu32]
3277 * @param pu32 Pointer to the variable to increment.
3280 DECLASM(uint32_t) ASMAtomicUoIncU32(uint32_t volatile *pu32);
3282 DECLINLINE(uint32_t) ASMAtomicUoIncU32(uint32_t volatile *pu32)
3288 "=m" (*pu32)
3290 "m" (*pu32)
3298 mov rdx, [pu32]
3301 mov edx, [pu32]
3316 * @param pu32 Pointer to the variable to decrement.
3319 DECLASM(uint32_t) ASMAtomicUoDecU32(uint32_t volatile *pu32);
3321 DECLINLINE(uint32_t) ASMAtomicUoDecU32(uint32_t volatile *pu32)
3327 "=m" (*pu32)
3329 "m" (*pu32)
3337 mov rdx, [pu32]
3340 mov edx, [pu32]
3624 uint32_t const *pu32 = (uint32_t const *)pv;
3625 for (; cb; cb -= 4, pu32++)
3626 if (RT_UNLIKELY(*pu32 != u32))
3627 return (uint32_t *)pu32;
4316 volatile uint32_t *pu32 = (volatile uint32_t *)pvBitmap + (iBitStart >> 5);
4320 *pu32 &= ((1 << (iBitStart & 31)) - 1) | ~((1 << (iBitEnd & 31)) - 1);
4326 *pu32 &= (1 << (iBitStart & 31)) - 1;
4327 pu32++;
4333 ASMMemZero32(pu32, (iEnd - iBitStart) >> 3);
4338 pu32 = (volatile uint32_t *)pvBitmap + (iBitEnd >> 5);
4339 *pu32 &= ~((1 << (iBitEnd & 31)) - 1);
4357 volatile uint32_t *pu32 = (volatile uint32_t *)pvBitmap + (iBitStart >> 5);
4361 *pu32 |= ((1 << (iBitEnd - iBitStart)) - 1) << iBitStart;
4367 *pu32 |= ~((1 << (iBitStart & 31)) - 1);
4368 pu32++;
4374 ASMMemFill32(pu32, (iEnd - iBitStart) >> 3, ~UINT32_C(0));
4379 pu32 = (volatile uint32_t *)pvBitmap + (iBitEnd >> 5);
4380 *pu32 |= (1 << (iBitEnd & 31)) - 1;