Lines Matching refs:iBit

3715  * @param   iBit        The bit to set.
3722 DECLASM(void) ASMBitSet(volatile void *pvBitmap, int32_t iBit);
3724 DECLINLINE(void) ASMBitSet(volatile void *pvBitmap, int32_t iBit)
3727 _bittestandset((long *)pvBitmap, iBit);
3732 : "Ir" (iBit),
3740 mov edx, [iBit]
3744 mov edx, [iBit]
3758 * @param iBit The bit to set.
3761 DECLASM(void) ASMAtomicBitSet(volatile void *pvBitmap, int32_t iBit);
3763 DECLINLINE(void) ASMAtomicBitSet(volatile void *pvBitmap, int32_t iBit)
3767 _interlockedbittestandset((long *)pvBitmap, iBit);
3771 : "Ir" (iBit),
3779 mov edx, [iBit]
3783 mov edx, [iBit]
3796 * @param iBit The bit to clear.
3803 DECLASM(void) ASMBitClear(volatile void *pvBitmap, int32_t iBit);
3805 DECLINLINE(void) ASMBitClear(volatile void *pvBitmap, int32_t iBit)
3808 _bittestandreset((long *)pvBitmap, iBit);
3813 : "Ir" (iBit),
3821 mov edx, [iBit]
3825 mov edx, [iBit]
3839 * @param iBit The bit to toggle set.
3843 DECLASM(void) ASMAtomicBitClear(volatile void *pvBitmap, int32_t iBit);
3845 DECLINLINE(void) ASMAtomicBitClear(volatile void *pvBitmap, int32_t iBit)
3851 : "Ir" (iBit),
3859 mov edx, [iBit]
3863 mov edx, [iBit]
3876 * @param iBit The bit to toggle.
3883 DECLASM(void) ASMBitToggle(volatile void *pvBitmap, int32_t iBit);
3885 DECLINLINE(void) ASMBitToggle(volatile void *pvBitmap, int32_t iBit)
3888 _bittestandcomplement((long *)pvBitmap, iBit);
3892 : "Ir" (iBit),
3900 mov edx, [iBit]
3904 mov edx, [iBit]
3918 * @param iBit The bit to test and set.
3921 DECLASM(void) ASMAtomicBitToggle(volatile void *pvBitmap, int32_t iBit);
3923 DECLINLINE(void) ASMAtomicBitToggle(volatile void *pvBitmap, int32_t iBit)
3929 : "Ir" (iBit),
3937 mov edx, [iBit]
3941 mov edx, [iBit]
3957 * @param iBit The bit to test and set.
3964 DECLASM(bool) ASMBitTestAndSet(volatile void *pvBitmap, int32_t iBit);
3966 DECLINLINE(bool) ASMBitTestAndSet(volatile void *pvBitmap, int32_t iBit)
3970 rc.u8 = _bittestandset((long *)pvBitmap, iBit);
3978 : "Ir" (iBit),
3984 mov edx, [iBit]
4010 * @param iBit The bit to set.
4013 DECLASM(bool) ASMAtomicBitTestAndSet(volatile void *pvBitmap, int32_t iBit);
4015 DECLINLINE(bool) ASMAtomicBitTestAndSet(volatile void *pvBitmap, int32_t iBit)
4020 rc.u8 = _interlockedbittestandset((long *)pvBitmap, iBit);
4027 : "Ir" (iBit),
4033 mov edx, [iBit]
4058 * @param iBit The bit to test and clear.
4065 DECLASM(bool) ASMBitTestAndClear(volatile void *pvBitmap, int32_t iBit);
4067 DECLINLINE(bool) ASMBitTestAndClear(volatile void *pvBitmap, int32_t iBit)
4071 rc.u8 = _bittestandreset((long *)pvBitmap, iBit);
4079 : "Ir" (iBit),
4085 mov edx, [iBit]
4111 * @param iBit The bit to test and clear.
4116 DECLASM(bool) ASMAtomicBitTestAndClear(volatile void *pvBitmap, int32_t iBit);
4118 DECLINLINE(bool) ASMAtomicBitTestAndClear(volatile void *pvBitmap, int32_t iBit)
4123 rc.u8 = _interlockedbittestandreset((long *)pvBitmap, iBit);
4131 : "Ir" (iBit),
4137 mov edx, [iBit]
4162 * @param iBit The bit to test and toggle.
4169 DECLASM(bool) ASMBitTestAndToggle(volatile void *pvBitmap, int32_t iBit);
4171 DECLINLINE(bool) ASMBitTestAndToggle(volatile void *pvBitmap, int32_t iBit)
4175 rc.u8 = _bittestandcomplement((long *)pvBitmap, iBit);
4183 : "Ir" (iBit),
4189 mov edx, [iBit]
4215 * @param iBit The bit to test and toggle.
4218 DECLASM(bool) ASMAtomicBitTestAndToggle(volatile void *pvBitmap, int32_t iBit);
4220 DECLINLINE(bool) ASMAtomicBitTestAndToggle(volatile void *pvBitmap, int32_t iBit)
4230 : "Ir" (iBit),
4236 mov edx, [iBit]
4261 * @param iBit The bit to test.
4268 DECLASM(bool) ASMBitTest(const volatile void *pvBitmap, int32_t iBit);
4270 DECLINLINE(bool) ASMBitTest(const volatile void *pvBitmap, int32_t iBit)
4274 rc.u32 = _bittest((long *)pvBitmap, iBit);
4282 "Ir" (iBit)
4287 mov edx, [iBit]
4402 int32_t iBit;
4421 : "=d" (iBit),
4461 mov [iBit], edx
4464 return iBit;
4487 int iBit = ++iBitPrev & 31;
4488 if (iBit)
4493 uint32_t u32 = ~pau32Bitmap[iBitPrev / 32] >> iBit;
4505 : "=r" (iBit)
4515 mov [iBit], eax
4518 if (iBit >= 0)
4519 return iBit + iBitPrev;
4534 iBit = ASMBitFirstClear(&pau32Bitmap[iBitPrev / 32], cBits - iBitPrev);
4535 if (iBit >= 0)
4536 iBit += iBitPrev;
4537 return iBit;
4557 int32_t iBit;
4576 : "=d" (iBit),
4615 mov [iBit], edx
4618 return iBit;
4641 int iBit = ++iBitPrev & 31;
4642 if (iBit)
4647 uint32_t u32 = pau32Bitmap[iBitPrev / 32] >> iBit;
4659 : "=r" (iBit)
4669 mov [iBit], eax
4672 if (iBit >= 0)
4673 return iBit + iBitPrev;
4688 iBit = ASMBitFirstSet(&pau32Bitmap[iBitPrev / 32], cBits - iBitPrev);
4689 if (iBit >= 0)
4690 iBit += iBitPrev;
4691 return iBit;
4711 unsigned long iBit;
4712 if (_BitScanForward(&iBit, u32))
4713 iBit++;
4715 iBit = 0;
4717 uint32_t iBit;
4725 : "=r" (iBit)
4728 uint32_t iBit;
4738 mov [iBit], eax
4741 return iBit;
4776 unsigned long iBit;
4777 if (_BitScanReverse(&iBit, u32))
4778 iBit++;
4780 iBit = 0;
4782 uint32_t iBit;
4790 : "=r" (iBit)
4793 uint32_t iBit;
4803 mov [iBit], eax
4806 return iBit;