blob: c7563080a755921c540e0ecb4ec6e1fff72bbc87 [file] [log] [blame]
divert(`-1')
INTRIN(`void', `_disable')
INTRIN(`__INTRIN_INT64', `__emul', ((`int', `a'), (`int', `b')))
INTRIN(`__INTRIN_UINT64', `__emulu', ((`unsigned int', `a'), (`unsigned int', `b')))
INTRIN(`void', `_enable')
INTRIN(`__INTRIN_LONG', `_InterlockedDecrement', ((`__INTRIN_LONG volatile *', `lpAddend')))
INTRIN(`__INTRIN_LONG', `_InterlockedExchange', ((`__INTRIN_LONG volatile *', `Target'), (`__INTRIN_LONG', `Value')))
INTRIN(`__INTRIN_LONG', `_InterlockedExchangeAdd', ((`__INTRIN_LONG volatile *', `Addend'), (`__INTRIN_LONG', `Value')))
INTRIN(`__INTRIN_LONG', `_InterlockedCompareExchange', ((`__INTRIN_LONG volatile *', `Destination'), (`__INTRIN_LONG', `Exchange'), (`__INTRIN_LONG', `Comperand')))
INTRIN(`__INTRIN_INT64', `_InterlockedCompareExchange64', ((`__INTRIN_INT64 volatile *', `Destination'), (`__INTRIN_INT64', `Exchange'), (`__INTRIN_INT64', `Comperand')))
INTRIN(`__INTRIN_LONG', `_InterlockedIncrement', ((`__INTRIN_LONG volatile *', `lpAddend')))
INTRIN(`int', `_inp', ((`unsigned short', `port')))
INTRIN(`int', `inp', ((`unsigned short', `port')))
INTRIN(`__INTRIN_ULONG', `_inpd', ((`unsigned short', `port')))
INTRIN(`__INTRIN_ULONG', `inpd', ((`unsigned short', `port')))
INTRIN(`unsigned short', `_inpw', ((`unsigned short', `port')))
INTRIN(`unsigned short', `inpw', ((`unsigned short', `port')))
INTRIN(`__INTRIN_UINT64', `__ll_lshift', ((`__INTRIN_UINT64', `Mask'), (`int', `nBit')))
INTRIN(`__INTRIN_INT64', `__ll_rshift', ((`__INTRIN_INT64', `Mask'), (`int', `nBit')))
INTRIN(`int', `_outp', ((`unsigned short', `port'), (`int', `databyte')))
INTRIN(`int', `outp', ((`unsigned short', `port'), (`int', `databyte')))
INTRIN(`__INTRIN_ULONG', `_outpd', ((`unsigned short', `port'), (`__INTRIN_ULONG', `dataword')))
INTRIN(`__INTRIN_ULONG', `outpd', ((`unsigned short', `port'), (`__INTRIN_ULONG', `dataword')))
INTRIN(`unsigned short', `_outpw', ((`unsigned short', `port'), (`unsigned short', `dataword')))
INTRIN(`unsigned short', `outpw', ((`unsigned short', `port'), (`unsigned short', `dataword')))
INTRIN(`void *', `_ReturnAddress')
INTRIN(`__INTRIN_UINT64', `__ull_rshift', ((`__INTRIN_UINT64', `Mask'), (`int', `nBit')))
INTRIN(`void *', `_AddressOfReturnAddress')
INTRIN(`void', `_WriteBarrier')
INTRIN(`void', `_ReadWriteBarrier')
INTRIN(`void', `__wbinvd')
INTRIN(`void', `__invlpg', ((`void *', `Address')))
INTRIN(`__INTRIN_UINT64', `__readmsr', ((`__INTRIN_ULONG', `Register')))
INTRIN(`void', `__writemsr', ((`__INTRIN_ULONG', `Register'), (`__INTRIN_UINT64', `Value')))
INTRIN(`__INTRIN_UINT64', `__rdtsc')
INTRIN(`void', `__movsb', ((`unsigned char *', `Destination'), (`unsigned char const *', `Source'), (`size_t', `Count')))
INTRIN(`void', `__movsw', ((`unsigned short *', `Destination'), (`unsigned short const *', `Source'), (`size_t', `Count')))
INTRIN(`void', `__movsd', ((`__INTRIN_ULONG *', `Destination'), (`__INTRIN_ULONG const *', `Source'), (`size_t', `Count')))
INTRIN(`unsigned char', `__inbyte', ((`unsigned short', `Port')))
INTRIN(`unsigned short', `__inword', ((`unsigned short', `Port')))
INTRIN(`__INTRIN_ULONG', `__indword', ((`unsigned short', `Port')))
INTRIN(`void', `__outbyte', ((`unsigned short', `Port'), (`unsigned char', `Data')))
INTRIN(`void', `__outword', ((`unsigned short', `Port'), (`unsigned short', `Data')))
INTRIN(`void', `__outdword', ((`unsigned short', `Port'), (`__INTRIN_ULONG', `Data')))
INTRIN(`void', `__inbytestring', ((`unsigned short', `Port'), (`unsigned char *', `Buffer'), (`__INTRIN_ULONG', `Count')))
INTRIN(`void', `__inwordstring', ((`unsigned short', `Port'), (`unsigned short *', `Buffer'), (`__INTRIN_ULONG', `Count')))
INTRIN(`void', `__indwordstring', ((`unsigned short', `Port'), (`__INTRIN_ULONG *', `Buffer'), (`__INTRIN_ULONG', `Count')))
INTRIN(`void', `__outbytestring', ((`unsigned short', `Port'), (`unsigned char *', `Buffer'), (`__INTRIN_ULONG', `Count')))
INTRIN(`void', `__outwordstring', ((`unsigned short', `Port'), (`unsigned short *', `Buffer'), (`__INTRIN_ULONG', `Count')))
INTRIN(`void', `__outdwordstring', ((`unsigned short', `Port'), (`__INTRIN_ULONG *', `Buffer'), (`__INTRIN_ULONG', `Count')))
INTRIN(`unsigned int', `__getcallerseflags')
INTRIN(`void', `__vmx_vmptrst', ((`__INTRIN_UINT64 *', `VmcsPhysicalAddress')))
INTRIN(`void', `__vmx_off')
INTRIN(`void', `__svm_clgi')
INTRIN(`void', `__svm_invlpga', ((`void *', `Va'), (`int', `ASID')))
INTRIN(`void', `__svm_skinit', ((`int', `SLB')))
INTRIN(`void', `__svm_stgi')
INTRIN(`void', `__svm_vmload', ((`size_t', `VmcbPhysicalAddress')))
INTRIN(`void', `__svm_vmrun', ((`size_t', `VmcbPhysicalAddress')))
INTRIN(`void', `__svm_vmsave', ((`size_t', `VmcbPhysicalAddress')))
INTRIN(`void', `__halt')
INTRIN(`void', `__sidt', ((`void *', `Destination')))
INTRIN(`void', `__lidt', ((`void *', `Source')))
INTRIN(`void', `__ud2')
INTRIN(`void', `__nop')
INTRIN(`void', `__stosb', ((`unsigned char *', `Dest'), (`unsigned char', `Data'), (`size_t', `Count')))
INTRIN(`void', `__stosw', ((`unsigned short *', `Dest'), (` unsigned short', `Data'), (`size_t', `Count')))
INTRIN(`void', `__stosd', ((`__INTRIN_ULONG *', `Dest'), (` __INTRIN_ULONG', `Data'), (`size_t', `Count')))
INTRIN(`unsigned char', `_interlockedbittestandset', ((`__INTRIN_LONG volatile *', `a'), (`__INTRIN_LONG', `b')))
INTRIN(`unsigned char', `_interlockedbittestandreset', ((`__INTRIN_LONG volatile *', `a'), (`__INTRIN_LONG', `b')))
INTRIN(`void', `__cpuid', ((`int', `a', `[4]'), (`int', `b')))
INTRIN(`void', `__cpuidex', ((`int', `a', `[4]'), (`int', `b'), (`int', `c')))
INTRIN(`__INTRIN_UINT64', `__readpmc', ((`__INTRIN_ULONG', `a')))
INTRIN(`__INTRIN_ULONG', `__segmentlimit', ((`__INTRIN_ULONG', `a')))
INTRIN(`void', `__int2c')
INTRIN(`unsigned short', `__lzcnt16', ((`unsigned short', `value')))
INTRIN(`unsigned int', `__lzcnt', ((`unsigned int', `value')))
INTRIN(`unsigned short', `__popcnt16', ((`unsigned short', `value')))
INTRIN(`unsigned int', `__popcnt', ((`unsigned int', `value')))
INTRIN(`__m128i', `_mm_extract_si64', ((`__m128i', `Source'), (`__m128i', `Descriptor')))
INTRIN(`__m128i', `_mm_extracti_si64', ((`__m128i', `Source'), (`int', `Length'), (`int', `Index')))
INTRIN(`__m128i', `_mm_insert_si64', ((`__m128i', `Source1'), (`__m128i', `Source2')))
INTRIN(`__m128i', `_mm_inserti_si64', ((`__m128i', `Source1'), (`__m128i', `Source2'), (`int', `Length'), (`int', `Index')))
INTRIN(`void', `_mm_stream_sd', ((`double *', `Dest'), (`__m128d', `Source')))
INTRIN(`void', `_mm_stream_ss', ((`float *', `Dest'), (`__m128', `Source')))
INTRIN(`__INTRIN_UINT64', `__rdtscp', ((`unsigned int *', `Aux')))
INTRIN_CDECL(`_disable')
INTRIN_CDECL(`_enable')
INTRIN_CDECL(`_InterlockedDecrement')
INTRIN_CDECL(`_InterlockedIncrement')
INTRIN_CDECL(`_inp')
INTRIN_CDECL(`inp')
INTRIN_CDECL(`_inpd')
INTRIN_CDECL(`inpd')
INTRIN_CDECL(`_inpw')
INTRIN_CDECL(`inpw')
INTRIN_CDECL(`_outp')
INTRIN_CDECL(`outp')
INTRIN_CDECL(`_outpd')
INTRIN_CDECL(`outpd')
INTRIN_CDECL(`_outpw')
INTRIN_CDECL(`outpw')
INTRIN_DISCARDABLE(`__readmsr')
INTRIN_DISCARDABLE(`__rdtsc')
INTRIN_DISCARDABLE(`__readpmc')
INTRIN_DISCARDABLE(`_mm_extract_si64')
INTRIN_DISCARDABLE(`_mm_extracti_si64')
INTRIN_DISCARDABLE(`_mm_insert_si64')
INTRIN_DISCARDABLE(`_mm_inserti_si64')
INTRIN_CONST(`__emul')
INTRIN_CONST(`__emulu')
INTRIN_CONST(`__ll_lshift')
INTRIN_CONST(`__ll_rshift')
INTRIN_CONST(`_ReturnAddress')
INTRIN_CONST(`__ull_rshift')
INTRIN_CONST(`_AddressOfReturnAddress')
INTRIN_CONST(`__getcallerseflags')
INTRIN_CONST(`__lzcnt16')
INTRIN_CONST(`__lzcnt')
INTRIN_CONST(`__popcnt16')
INTRIN_CONST(`__popcnt')
divert`'dnl