tbb::internal::msvc_inline_asm Namespace Reference

## Functions

static uintptr_t | lg_bsr (uintptr_t i)
static void | lock_or (volatile void *operand, __int32 addend)
static void | lock_and (volatile void *operand, __int32 addend)

## Function Documentation

## lg_bsr()

static uintptr_t tbb::internal::msvc_inline_asm::lg_bsr | ( | uintptr_t | i | ) |

inline static

Definition at line 140 of file msvc_ia32_common.h.

{
uintptr_t j;
__asm
{
bsr __TBB_r(ax), i
mov j, __TBB_r(ax)
}
return j;
}

References __TBB_r.

## lock_and()

static void tbb::internal::msvc_inline_asm::lock_and | ( | volatile void * | operand,
|  | __int32 | addend
| ) |  |

inline static

Definition at line 179 of file msvc_ia32_common.h.

{
__asm
{
mov eax, addend
mov edx, [operand]
lock and [edx], eax
}
}

References lock.

## lock_or()

static void tbb::internal::msvc_inline_asm::lock_or | ( | volatile void * | operand,
|  | __int32 | addend
| ) |  |

inline static

Definition at line 171 of file msvc_ia32_common.h.

{
__asm
{
mov eax, addend
mov edx, [operand]
lock or [edx], eax
}
}

References lock.

__TBB_r
#define __TBB_r(reg_name)
Definition: msvc_ia32_common.h:41
lock
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void * lock
Definition: ittnotify_static.h:121

Copyright © 2005-2020 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.