Shadowrun: Awakened 29 September 2011 - Build 871
Defines | Functions
windows_intel64.h File Reference
#include <intrin.h>
Include dependency graph for Third Party Tech/TBB/tbb30_20100406oss_win/tbb30_20100406oss/include/tbb/machine/windows_intel64.h:

Go to the source code of this file.

Defines

#define __TBB_AtomicAND(P, V)   __TBB_machine_AND(P,V)
#define __TBB_AtomicOR(P, V)   __TBB_machine_OR(P,V)
#define __TBB_BIG_ENDIAN   0
#define __TBB_CompareAndSwap1(P, V, C)   __TBB_machine_cmpswp1(P,V,C)
#define __TBB_CompareAndSwap2(P, V, C)   __TBB_machine_cmpswp2(P,V,C)
#define __TBB_CompareAndSwap4(P, V, C)   _InterlockedCompareExchange( (long*) P , V , C )
#define __TBB_CompareAndSwap8(P, V, C)   _InterlockedCompareExchange64( (__int64*) P , V , C )
#define __TBB_CompareAndSwapW(P, V, C)   _InterlockedCompareExchange64( (__int64*) P , V , C )
#define __TBB_FetchAndAdd1(P, V)   __TBB_machine_fetchadd1(P,V)
#define __TBB_FetchAndAdd2(P, V)   __TBB_machine_fetchadd2(P,V)
#define __TBB_FetchAndAdd4(P, V)   _InterlockedExchangeAdd((long*) P , V )
#define __TBB_FetchAndAdd8(P, V)   _InterlockedExchangeAdd64((__int64*) P , V )
#define __TBB_FetchAndAddW(P, V)   _InterlockedExchangeAdd64((__int64*) P , V )
#define __TBB_FetchAndStore1(P, V)   __TBB_machine_fetchstore1(P,V)
#define __TBB_FetchAndStore2(P, V)   __TBB_machine_fetchstore2(P,V)
#define __TBB_FetchAndStore4(P, V)   _InterlockedExchange((long*) P , V )
#define __TBB_FetchAndStore8(P, V)   _InterlockedExchange64((__int64*) P , V )
#define __TBB_FetchAndStoreW(P, V)   _InterlockedExchange64((__int64*) P , V )
#define __TBB_Log2(V)   __TBB_machine_lg(V)
#define __TBB_Pause(V)   __TBB_machine_pause(V)
#define __TBB_WORDSIZE   8
#define __TBB_Yield()   SwitchToThread()

Functions

 __declspec (dllimport) int __stdcall SwitchToThread(void)
void __TBB_machine_AND (volatile void *operand, intptr_t addend)
__int8 __TBB_EXPORTED_FUNC __TBB_machine_cmpswp1 (volatile void *ptr, __int8 value, __int8 comparand)
__int16 __TBB_EXPORTED_FUNC __TBB_machine_cmpswp2 (volatile void *ptr, __int16 value, __int16 comparand)
__int8 __TBB_EXPORTED_FUNC __TBB_machine_fetchadd1 (volatile void *ptr, __int8 addend)
__int16 __TBB_EXPORTED_FUNC __TBB_machine_fetchadd2 (volatile void *ptr, __int16 addend)
__int8 __TBB_EXPORTED_FUNC __TBB_machine_fetchstore1 (volatile void *ptr, __int8 value)
__int16 __TBB_EXPORTED_FUNC __TBB_machine_fetchstore2 (volatile void *ptr, __int16 value)
__int64 __TBB_machine_lg (unsigned __int64 i)
void __TBB_machine_OR (volatile void *operand, intptr_t addend)
void __TBB_EXPORTED_FUNC __TBB_machine_pause (__int32 delay)
unsigned char _BitScanReverse64 (unsigned long *i, unsigned __int64 w)

Define Documentation

#define __TBB_AtomicAND (   P,
  V 
)    __TBB_machine_AND(P,V)
#define __TBB_AtomicOR (   P,
  V 
)    __TBB_machine_OR(P,V)
#define __TBB_BIG_ENDIAN   0
#define __TBB_CompareAndSwap1 (   P,
  V,
 
)    __TBB_machine_cmpswp1(P,V,C)
#define __TBB_CompareAndSwap2 (   P,
  V,
 
)    __TBB_machine_cmpswp2(P,V,C)
#define __TBB_CompareAndSwap4 (   P,
  V,
 
)    _InterlockedCompareExchange( (long*) P , V , C )
#define __TBB_CompareAndSwap8 (   P,
  V,
 
)    _InterlockedCompareExchange64( (__int64*) P , V , C )
#define __TBB_CompareAndSwapW (   P,
  V,
 
)    _InterlockedCompareExchange64( (__int64*) P , V , C )
#define __TBB_FetchAndAdd1 (   P,
  V 
)    __TBB_machine_fetchadd1(P,V)
#define __TBB_FetchAndAdd2 (   P,
  V 
)    __TBB_machine_fetchadd2(P,V)
#define __TBB_FetchAndAdd4 (   P,
  V 
)    _InterlockedExchangeAdd((long*) P , V )
#define __TBB_FetchAndAdd8 (   P,
  V 
)    _InterlockedExchangeAdd64((__int64*) P , V )
#define __TBB_FetchAndAddW (   P,
  V 
)    _InterlockedExchangeAdd64((__int64*) P , V )
#define __TBB_FetchAndStore1 (   P,
  V 
)    __TBB_machine_fetchstore1(P,V)
#define __TBB_FetchAndStore2 (   P,
  V 
)    __TBB_machine_fetchstore2(P,V)
#define __TBB_FetchAndStore4 (   P,
  V 
)    _InterlockedExchange((long*) P , V )
#define __TBB_FetchAndStore8 (   P,
  V 
)    _InterlockedExchange64((__int64*) P , V )
#define __TBB_FetchAndStoreW (   P,
  V 
)    _InterlockedExchange64((__int64*) P , V )
#define __TBB_Log2 (   V)    __TBB_machine_lg(V)
#define __TBB_Pause (   V)    __TBB_machine_pause(V)
#define __TBB_WORDSIZE   8
#define __TBB_Yield ( )    SwitchToThread()

Function Documentation

__declspec ( dllimport  )
void __TBB_machine_AND ( volatile void *  operand,
intptr_t  addend 
) [inline]

Definition at line 96 of file Third Party Tech/TBB/tbb30_20100406oss_win/tbb30_20100406oss/include/tbb/machine/windows_intel64.h.

                                                                         {
    _InterlockedAnd64((__int64*)operand, addend); 
}
__int8 __TBB_EXPORTED_FUNC __TBB_machine_cmpswp1 ( volatile void *  ptr,
__int8  value,
__int8  comparand 
)
__int16 __TBB_EXPORTED_FUNC __TBB_machine_cmpswp2 ( volatile void *  ptr,
__int16  value,
__int16  comparand 
)
__int8 __TBB_EXPORTED_FUNC __TBB_machine_fetchadd1 ( volatile void *  ptr,
__int8  addend 
)
__int16 __TBB_EXPORTED_FUNC __TBB_machine_fetchadd2 ( volatile void *  ptr,
__int16  addend 
)
__int8 __TBB_EXPORTED_FUNC __TBB_machine_fetchstore1 ( volatile void *  ptr,
__int8  value 
)
__int16 __TBB_EXPORTED_FUNC __TBB_machine_fetchstore2 ( volatile void *  ptr,
__int16  value 
)
__int64 __TBB_machine_lg ( unsigned __int64  i) [inline]

Definition at line 77 of file Third Party Tech/TBB/tbb30_20100406oss_win/tbb30_20100406oss/include/tbb/machine/windows_intel64.h.

References _BitScanReverse64().

                                                      {
#if __INTEL_COMPILER
    unsigned __int64 j;
    __asm
    {
        bsr rax, i
        mov j, rax
    }
#else
    unsigned long j;
    _BitScanReverse64( &j, i );
#endif
    return j;
}
void __TBB_machine_OR ( volatile void *  operand,
intptr_t  addend 
) [inline]

Definition at line 92 of file Third Party Tech/TBB/tbb30_20100406oss_win/tbb30_20100406oss/include/tbb/machine/windows_intel64.h.

                                                                        {
    _InterlockedOr64((__int64*)operand, addend); 
}
void __TBB_EXPORTED_FUNC __TBB_machine_pause ( __int32  delay) [inline]

Definition at line 71 of file xbox360_ppc.h.

{
 for (__int32 i=0; i<delay; i++) {;};
}
unsigned char _BitScanReverse64 ( unsigned long *  i,
unsigned __int64  w 
)

Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.

GNU Lesser General Public License 3 Sourceforge.net