From 54c51798af78edbf655f2fbd346c1b992f54fa42 Mon Sep 17 00:00:00 2001 From: Richard Wheeler <18647491+PythonWillRule@users.noreply.github.com> Date: Sat, 26 Sep 2026 22:21:22 -0400 Subject: [PATCH 1/4] win32: add empty intrin.h/dbghelp.h stubs so tcc can build vc/v_win.c vlang's vc/v_win.c bootstrap snapshot is always generated with -cc msvc, so it unconditionally does #include and #include under #ifdef _WIN32. This toolchain ships neither header, so building vc/v_win.c directly with tcc.exe fails immediately, before any real code is reached. Both files are intentionally empty (just a header guard): - Every call site for the MSVC intrinsics vlang's cgen can emit (_umul128, _udiv128, _addcarry_u64, _BitScanForward, _BitScanForward64) is wrapped in #if defined(_MSC_VER) at the C level, so under tcc those branches never compile - portable fallbacks run instead. - include/winapi/winnt.h (pulled in by , included immediately before these headers) already provides working _BitScanForward, _BitScanForward64 and __faststorefence for this toolchain, via vlang-header-compat.patch. Redeclaring them causes a redefinition error. - DbgHelp (SymInitialize, SymFromAddr, ...) is resolved dynamically via GetProcAddress at runtime, not through dbghelp.h's declarations. Porting the real MinGW-w64 intrin.h was considered instead, but it pulls in intrin-impl.h plus mmintrin.h/xmmintrin.h/emmintrin.h/immintrin.h, none of which this bundle ships, for no functional benefit given the above. Co-Authored-By: WOZCODE --- include/dbghelp.h | 16 ++++++++++++++++ include/intrin.h | 26 ++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 include/dbghelp.h create mode 100644 include/intrin.h diff --git a/include/dbghelp.h b/include/dbghelp.h new file mode 100644 index 0000000..f854e33 --- /dev/null +++ b/include/dbghelp.h @@ -0,0 +1,16 @@ +/* + * Minimal compatibility shim for MSVC/Windows SDK's . + * + * Same root cause as intrin.h in this directory: vlang's vc/v_win.c + * bootstrap snapshot is always generated with `-cc msvc`, so it + * unconditionally does `#include ` under `#ifdef _WIN32`. This + * toolchain does not otherwise ship that header. + * + * No definitions are needed: vlang resolves the DbgHelp API + * (SymInitialize, SymFromAddr, SymGetLineFromAddr64, ...) dynamically via + * GetProcAddress at runtime, not through this header's static + * declarations, so this file only needs to exist to satisfy the #include. + */ +#ifndef TCC_DBGHELP_H_SHIM +#define TCC_DBGHELP_H_SHIM +#endif diff --git a/include/intrin.h b/include/intrin.h new file mode 100644 index 0000000..623fe1f --- /dev/null +++ b/include/intrin.h @@ -0,0 +1,26 @@ +/* + * Minimal compatibility shim for MSVC's . + * + * vlang's vc/v_win.c bootstrap snapshot is always generated with `-cc msvc` + * (see vlang/v's .github/workflows/gen_vc_ci.yml), which makes its cgen + * emit an unconditional `#include ` under `#ifdef _WIN32` (see + * vlang/v's vlib/v/gen/c/cleanc.v, the `g.ccompiler == 'msvc'` branch). + * This toolchain does not otherwise ship that header, so building + * vc/v_win.c directly with the bundled tcc fails before reaching any real + * code. + * + * No definitions are needed here: + * - Every call site for the handful of MSVC intrinsics vlang's cgen can + * emit (_umul128, _udiv128, _addcarry_u64, _BitScanForward, + * _BitScanForward64) is wrapped in `#if defined(_MSC_VER)` at the C + * level, so under TCC those branches never compile in the first place - + * portable fallbacks run instead. + * - , normally included immediately before this header, + * already pulls in include/winapi/winnt.h, which already provides + * working `_BitScanForward`, `_BitScanForward64` and `__faststorefence` + * for this toolchain (see vlang-header-compat.patch). Redeclaring them + * here causes a "redefinition" compile error. + */ +#ifndef TCC_INTRIN_H_SHIM +#define TCC_INTRIN_H_SHIM +#endif From 65dc75a174e83652cab0b6f65c5700fc684759d9 Mon Sep 17 00:00:00 2001 From: Richard Wheeler <18647491+PythonWillRule@users.noreply.github.com> Date: Sat, 26 Sep 2026 22:43:08 -0400 Subject: [PATCH 2/4] win32: use real mingw-w64 intrin.h/dbghelp.h instead of empty stubs The previous commit added empty intrin.h/dbghelp.h stubs, sufficient only to satisfy vc/v_win.c's unconditional #include lines for vlang's current bootstrap snapshot. Per this repo's own README ("copy the ported headers into include/, small modifications sometimes needed"), use the real mingw-w64 headers instead, so any other program that includes these headers under this tcc gets working declarations, not a no-op. Both compile cleanly under tcc as-is, once their small dependency chain is also vendored: - dbghelp.h needs psdk_inc/_dbg_LOAD_IMAGE.h and psdk_inc/_dbg_common.h (the latter needs pshpack4.h/poppack.h, the pack-pragma helpers). - intrin.h has no unmet dependencies; its SSE/AVX-intrinsic branches are conditionally compiled and inactive here. All six files are unmodified mingw-w64 runtime sources (public domain, no copyright assigned), matching the existing include/winapi/*.h files already vendored in this bundle from the same project. Verified against vlang/v (checkout at commit c4998cf): a full ./makev.bat -tcc bootstrap succeeds, and `./v test vlib/math/bits/` passes with the rebuilt compiler. Co-Authored-By: WOZCODE --- include/dbghelp.h | 32 +- include/intrin.h | 1727 +++++++++++++++++++++- include/poppack.h | 8 + include/psdk_inc/_dbg_LOAD_IMAGE.h | 52 + include/psdk_inc/_dbg_common.h | 2185 ++++++++++++++++++++++++++++ include/pshpack4.h | 8 + 6 files changed, 3976 insertions(+), 36 deletions(-) create mode 100644 include/poppack.h create mode 100644 include/psdk_inc/_dbg_LOAD_IMAGE.h create mode 100644 include/psdk_inc/_dbg_common.h create mode 100644 include/pshpack4.h diff --git a/include/dbghelp.h b/include/dbghelp.h index f854e33..adee3a6 100644 --- a/include/dbghelp.h +++ b/include/dbghelp.h @@ -1,16 +1,20 @@ -/* - * Minimal compatibility shim for MSVC/Windows SDK's . - * - * Same root cause as intrin.h in this directory: vlang's vc/v_win.c - * bootstrap snapshot is always generated with `-cc msvc`, so it - * unconditionally does `#include ` under `#ifdef _WIN32`. This - * toolchain does not otherwise ship that header. - * - * No definitions are needed: vlang resolves the DbgHelp API - * (SymInitialize, SymFromAddr, SymGetLineFromAddr64, ...) dynamically via - * GetProcAddress at runtime, not through this header's static - * declarations, so this file only needs to exist to satisfy the #include. +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#ifndef TCC_DBGHELP_H_SHIM -#define TCC_DBGHELP_H_SHIM +#ifndef _DBGHELP_ +#define _DBGHELP_ + +#include <_mingw_unicode.h> + +#ifdef _WIN64 +#ifndef _IMAGEHLP64 +#define _IMAGEHLP64 +#endif +#endif + +#include +#include + #endif diff --git a/include/intrin.h b/include/intrin.h index 623fe1f..2b48a72 100644 --- a/include/intrin.h +++ b/include/intrin.h @@ -1,26 +1,1709 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +/* The purpose of this file is to provide support for MSVC's intrinsics (what gcc calls + Builtins) in gcc. In MSVC, there are several features for intrinsics: + + - Intrinsics can either be implemented inline (via the compiler), or implemented as functions. + - You can specify which approach you prefer either globally (via compile switch /Oi) or + on a function by function basis via pragmas. + - Before you can use any of the intrinsics, they must be declared via a prototype. For + whatever reason, MS has decided to put all the intrinsics in one file (intrin.h) AND + to put duplicate copies of some of these prototypes in various platform sdk headers. + + In gcc, this is implemented as follows: + + - The inline implementations for the intrinsics are located in intrin-impl.h. This file + is included by intrin.h, as well as various platform sdk headers. + - Including intrin.h will create definitions/implementations for all available MSVC intrinsics. + - Including various platforms sdk headers will only include the intrinsics defined in that + header. As of this writing, only winnt.h and winbase.h use this approach. + - If an application defines its own prototypes for intrinsics (ie without including any + platform header or intrin.h), the symbols will be resolved from the library. Since this + will likely result in the code being invoked via 'call', performance may be degraded. + + If you wish to implement intrinsic functions that are defined in intrin.h but are not + yet implemented in mingw-w64, see the comments at the top of intrin-impl.h. +*/ + +#ifndef __INTRIN_H_ +#define __INTRIN_H_ +#ifndef RC_INVOKED + +#include +#ifndef __CYGWIN__ +#include +#endif +#include +#include + /* - * Minimal compatibility shim for MSVC's . + * Intrins shiped with GCC conflict with our versions in C++, because they don't use extern "C" + * linkage while our variants use them. We try to work around this by including those headers + * here wrapped in extern "C" block. It's still possible that those intrins will get default + * C++ linkage (when GCC headers are explicitly included before intrin.h), but at least their + * guards will prevent duplicated declarations and avoid conflicts. * - * vlang's vc/v_win.c bootstrap snapshot is always generated with `-cc msvc` - * (see vlang/v's .github/workflows/gen_vc_ci.yml), which makes its cgen - * emit an unconditional `#include ` under `#ifdef _WIN32` (see - * vlang/v's vlib/v/gen/c/cleanc.v, the `g.ccompiler == 'msvc'` branch). - * This toolchain does not otherwise ship that header, so building - * vc/v_win.c directly with the bundled tcc fails before reaching any real - * code. - * - * No definitions are needed here: - * - Every call site for the handful of MSVC intrinsics vlang's cgen can - * emit (_umul128, _udiv128, _addcarry_u64, _BitScanForward, - * _BitScanForward64) is wrapped in `#if defined(_MSC_VER)` at the C - * level, so under TCC those branches never compile in the first place - - * portable fallbacks run instead. - * - , normally included immediately before this header, - * already pulls in include/winapi/winnt.h, which already provides - * working `_BitScanForward`, `_BitScanForward64` and `__faststorefence` - * for this toolchain (see vlang-header-compat.patch). Redeclaring them - * here causes a "redefinition" compile error. + * On GCC 4.9 and Clang we may always include those headers. On older GCCs, we may do it only if CPU + * features used by them are enabled, so we need to check macros like __SSE__ or __MMX__ first. */ -#ifndef TCC_INTRIN_H_SHIM -#define TCC_INTRIN_H_SHIM +#if __MINGW_GNUC_PREREQ(4, 9) || defined(__clang__) +#define __MINGW_FORCE_SYS_INTRINS +#endif + +#if defined(__GNUC__) && \ + (defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))) +#ifndef _MM_MALLOC_H_INCLUDED +#include +#include +/* Make sure _mm_malloc and _mm_free are defined. */ +#include +#endif +#if defined(__cplusplus) +extern "C" { +#endif + +#include +#include + +/* Undefine the GCC one taking 5 parameters to prefer the mingw-w64 one. */ +#undef __cpuid + +/* Before 4.9.2, x86intrin.h had broken versions of these. */ +#undef _lrotl +#undef _lrotr + +#if defined(__cplusplus) +} +#endif + +#endif + +#ifndef __MINGW_FORCE_SYS_INTRINS +#ifndef __MMX__ +typedef union __m64 { char v[7]; } __m64; +#endif +#ifndef __SSE__ +typedef union __m128 { char v[16]; } __m128; +#endif +#ifndef __SSE2__ +typedef union __m128d { char v[16]; } __m128d; +typedef union __m128i { char v[16]; } __m128i; +#endif +#endif + +#ifndef WINAPI +#if defined(_ARM_) +#define WINAPI +#else +#define WINAPI __stdcall +#endif +#endif + +#if (defined(_X86_) || (defined(__x86_64) && !defined(__arm64ec__))) + +#if defined(__MMX__) || defined(__MINGW_FORCE_SYS_INTRINS) +#if defined(__cplusplus) +extern "C" { +#endif +#include +#if defined(__cplusplus) +} +#endif +#endif + +/* Note: mm3dnow.h intentionally not included; 3DNow! is deprecated. */ + +/* NOTE: it's not included by MS version, but we do it to try work around C++/C linkage differences */ +#if defined(__SSE__) || defined(__MINGW_FORCE_SYS_INTRINS) +#if defined(__cplusplus) +extern "C" { +#endif +#include +#if defined(__cplusplus) +} +#endif +#endif + +#if defined(__SSE2__) || defined(__MINGW_FORCE_SYS_INTRINS) +#if defined(__cplusplus) +extern "C" { +#endif +#include +#if defined(__cplusplus) +} +#endif +#endif + +#if defined(__SSE3__) || defined(__MINGW_FORCE_SYS_INTRINS) +#if defined(__cplusplus) +extern "C" { +#endif +#include +#if defined(__cplusplus) +} +#endif +#endif + +#endif + + +#define __MACHINEX64 __MACHINE +#define __MACHINEARMX __MACHINE +#define __MACHINECC __MACHINE +#define __MACHINECE __MACHINE +#define __MACHINEI __MACHINE +#define __MACHINEIA32 __MACHINE +#define __MACHINEX86X __MACHINE +#define __MACHINEX86X_NOX64 __MACHINE +#define __MACHINEX86X_NOIA64 __MACHINE +#define __MACHINEX86X_NOWIN64 __MACHINE +#define __MACHINEIA64 __MACHINE +#define __MACHINESA __MACHINE +#define __MACHINEIW64 __MACHINE +#define __MACHINEW64 __MACHINE +#define __MACHINEARM __MACHINE +#define __MACHINEARM64 __MACHINE +#define __MACHINEARM_ARM64 __MACHINE + +#define __MACHINE(X) X; +#define __MACHINEZ(X) + +#if !(defined(_X86_) && !defined(__x86_64)) +#undef __MACHINEIA32 +#define __MACHINEIA32 __MACHINEZ +#endif + +#if !(defined(_X86_) || defined(__x86_64) || defined(__ia64__)) || defined(__arm64ec__) +#undef __MACHINEIW64 +#define __MACHINEIW64 __MACHINEZ +#endif + +#if !(__ia64__) +#undef __MACHINEIA64 +#define __MACHINEIA64 __MACHINEZ +#endif + +#if !(defined(__ia64__) || defined(__x86_64)) || defined(__arm64ec__) +#undef __MACHINEW64 +#define __MACHINEW64 __MACHINEZ +#endif + +#if !(defined(_X86_) || defined(__x86_64)) || defined(__arm64ec__) +#undef __MACHINEI +#define __MACHINEI __MACHINEZ +#endif + +#if !(defined(_X86_) || defined(__x86_64)) || defined(__arm64ec__) +#undef __MACHINEX86X +#define __MACHINEX86X __MACHINEZ +#endif + +#if !(defined(_X86_)) || defined(__x86_64) +#undef __MACHINEX86X_NOX64 +#define __MACHINEX86X_NOX64 __MACHINEZ +#endif + +#if !(defined(_X86_) || defined(__x86_64)) || defined(__ia64__) || defined(__arm64ec__) +#undef __MACHINEX86X_NOIA64 +#define __MACHINEX86X_NOIA64 __MACHINEZ +#endif + +#if !(defined(_X86_)) || defined(__x86_64) || defined(__ia64__) +#undef __MACHINEX86X_NOWIN64 +#define __MACHINEX86X_NOWIN64 __MACHINEZ +#endif + +#if !(defined(__arm__)) +#undef __MACHINESA +#undef __MACHINEARM +#undef __MACHINEARMX +#undef __MACHINECC +#define __MACHINESA __MACHINEZ +#define __MACHINEARM __MACHINEZ +#define __MACHINEARMX __MACHINEZ +#define __MACHINECC __MACHINEZ +#endif + +#if !(defined(__aarch64__) || defined(__arm64ec__)) +#undef __MACHINEARM64 +#define __MACHINEARM64 __MACHINEZ +#endif + +#if !(defined(__arm__) || defined(__aarch64__) || defined(__arm64ec__)) +#undef __MACHINEARM_ARM64 +#define __MACHINEARM_ARM64 __MACHINEZ +#endif + +#if !(defined(__x86_64)) || defined(__arm64ec__) +#undef __MACHINEX64 +#define __MACHINEX64 __MACHINEZ +#endif + +#if !defined(_WIN32_WCE) +#undef __MACHINECE +#define __MACHINECE __MACHINEZ +#endif + +#if defined(__cplusplus) +extern "C" { +#endif + +#ifndef __CYGWIN__ + /* Put all declarations potentially colliding with POSIX headers here. + So far, Cygwin is the only POSIX system using this header file. + If that ever changes, make sure to tweak the guarding ifndef. */ + __MACHINE(int __cdecl abs(int)) + __MACHINEX64(double ceil(double)) + __MACHINE(long __cdecl labs(long)) + __MACHINECE(_CONST_RETURN void *__cdecl memchr(const void *,int,size_t)) + __MACHINE(int __cdecl memcmp(const void *,const void *,size_t)) + __MACHINE(void *__cdecl memcpy(void * __restrict__ ,const void * __restrict__ ,size_t)) + __MACHINE(void *__cdecl memset(void *,int,size_t)) + __MACHINE(char *__cdecl strcat(char *,const char *)) + __MACHINE(int __cdecl strcmp(const char *,const char *)) + __MACHINE(char *__cdecl strcpy(char * __restrict__ ,const char * __restrict__ )) + __MACHINE(size_t __cdecl strlen(const char *)) + __MACHINECE(int __cdecl strncmp(const char *,const char *,size_t)) + __MACHINECE(char *__cdecl strncpy(char * __restrict__ ,const char * __restrict__ ,size_t)) + __MACHINEIW64(wchar_t *__cdecl wcscat(wchar_t * __restrict__ ,const wchar_t * __restrict__ )) + __MACHINEIW64(int __cdecl wcscmp(const wchar_t *,const wchar_t *)) + __MACHINEIW64(wchar_t *__cdecl wcscpy(wchar_t * __restrict__ ,const wchar_t * __restrict__ )) + __MACHINEIW64(size_t __cdecl wcslen(const wchar_t *)) +#endif + + __MACHINEIA64(__MINGW_EXTENSION void _AcquireSpinLock(unsigned __int64 *)) +#ifdef __GNUC__ +#undef _alloca +#define _alloca(x) __builtin_alloca((x)) +#else + __MACHINE(void *__cdecl _alloca(size_t)) +#endif + __MACHINEIA64(void __break(int)) + __MACHINECE(__MINGW_EXTENSION __int64 __cdecl _abs64(__int64)) + __MACHINE(unsigned short __cdecl _byteswap_ushort(unsigned short value)) + __MACHINE(unsigned __LONG32 __cdecl _byteswap_ulong(unsigned __LONG32 value)) + __MACHINE(__MINGW_EXTENSION unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64 value)) + __MACHINECE(void __CacheRelease(void *)) + __MACHINECE(void __CacheWriteback(void *)) + __MACHINECE(double ceil(double)) + __MACHINECE(__MINGW_EXTENSION double _CopyDoubleFromInt64(__int64)) + __MACHINECE(float _CopyFloatFromInt32(__int32)) + __MACHINECE(__MINGW_EXTENSION __int64 _CopyInt64FromDouble(double)) + __MACHINECE(__int32 _CopyInt32FromFloat(float)) + __MACHINECE(unsigned _CountLeadingOnes(long)) + __MACHINECE(__MINGW_EXTENSION unsigned _CountLeadingOnes64(__int64)) + __MACHINECE(unsigned _CountLeadingSigns(long)) + __MACHINECE(__MINGW_EXTENSION unsigned _CountLeadingSigns64(__int64)) + __MACHINECE(unsigned _CountLeadingZeros(long)) + __MACHINECE(__MINGW_EXTENSION unsigned _CountLeadingZeros64(__int64)) + __MACHINECE(unsigned _CountOneBits(long)) + __MACHINECE(__MINGW_EXTENSION unsigned _CountOneBits64(__int64)) + __MACHINE(void __cdecl __debugbreak(void)) + __MACHINEI(void __cdecl _disable(void)) + __MACHINEIA64(void __cdecl _disable(void)) + __MACHINEIA64(void __dsrlz(void)) + __MACHINEI(__MINGW_EXTENSION __int64 __emul(int,int)) + __MACHINEI(__MINGW_EXTENSION unsigned __int64 __emulu(unsigned int,unsigned int)) + __MACHINEI(void __cdecl _enable(void)) + __MACHINEIA64(void __cdecl _enable(void)) + __MACHINE(void __cdecl __MINGW_ATTRIB_NORETURN __fastfail(unsigned int code)) + __MACHINEIA64(__MINGW_EXTENSION void __fc(__int64)) + __MACHINEIA64(void __fclrf(void)) + __MACHINEIA64(void __fsetc(int,int)) + __MACHINEIA64(void __fwb(void)) + __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __getReg(int)) + __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __getPSP(void)) + __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __getCFS(void)) + __MACHINECE(void __ICacheRefresh(void *)) + __MACHINEIA64(long _InterlockedAdd(long volatile *,long)) + __MACHINEIA64(long _InterlockedAdd_acq(long volatile *,long)) + __MACHINEIA64(long _InterlockedAdd_rel(long volatile *,long)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAdd64(__int64 volatile *,__int64)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAdd64_acq(__int64 volatile *,__int64)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAdd64_rel(__int64 volatile *,__int64)) + /* __MACHINEI(__LONG32 __cdecl _InterlockedDecrement(__LONG32 volatile *)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIA64(long _InterlockedDecrement(long volatile *)) + __MACHINEIA64(long _InterlockedDecrement_acq(long volatile *)) + __MACHINEIA64(long _InterlockedDecrement_rel(long volatile *)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedDecrement64(__int64 volatile *)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedDecrement64_acq(__int64 volatile *)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedDecrement64_rel(__int64 volatile *)) + /* __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedDecrement64(__int64 volatile *)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(__LONG32 _InterlockedExchange(__LONG32 volatile *,__LONG32)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIA64(long _InterlockedExchange(long volatile *,long)) + __MACHINEIA64(long _InterlockedExchange_acq(long volatile *,long)) + __MACHINESA(long WINAPI _InterlockedExchange(long volatile *,long)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchange64(__int64 volatile *,__int64)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchange64_acq(__int64 volatile *,__int64)) + /* __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedExchange64(__int64 volatile *,__int64)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIA64(void *_InterlockedExchangePointer(void *volatile *,void *)) + __MACHINEIA64(void *_InterlockedExchangePointer_acq(void *volatile *,void volatile *)) + /* __MACHINEX64(void *_InterlockedExchangePointer(void *volatile *,void *)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(__LONG32 _InterlockedExchangeAdd(__LONG32 volatile *,__LONG32)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIA64(long _InterlockedExchangeAdd(long volatile *,long)) + __MACHINEIA64(long _InterlockedExchangeAdd_acq(long volatile *,long)) + __MACHINEIA64(long _InterlockedExchangeAdd_rel(long volatile *,long)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64(__int64 volatile *,__int64)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64_acq(__int64 volatile *,__int64)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64_rel(__int64 volatile *,__int64)) + /* __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64(__int64 volatile *,__int64)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(__LONG32 _InterlockedCompareExchange (__LONG32 volatile *,__LONG32,__LONG32)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIA64(long _InterlockedCompareExchange (long volatile *,long,long)) + __MACHINEIA64(long _InterlockedCompareExchange_acq (long volatile *,long,long)) + __MACHINEIA64(long _InterlockedCompareExchange_rel (long volatile *,long,long)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64(__int64 volatile *,__int64,__int64)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64_acq(__int64 volatile *,__int64,__int64)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64_rel(__int64 volatile *,__int64,__int64)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_acq(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_rel(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) + __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) + __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_acq(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) + __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_rel(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) + __MACHINEIA64(void *_InterlockedCompareExchangePointer (void *volatile *,void *,void *)) + __MACHINEIA64(void *_InterlockedCompareExchangePointer_acq (void *volatile *,void *,void *)) + __MACHINEIA64(void *_InterlockedCompareExchangePointer_rel (void *volatile *,void *,void *)) + /* __MACHINEI(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64(__int64 volatile *,__int64,__int64)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(void *_InterlockedCompareExchangePointer (void *volatile *,void *,void *)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(__LONG32 __cdecl _InterlockedIncrement(__LONG32 volatile *)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIA64(long _InterlockedIncrement(long volatile *)) + __MACHINEIA64(long _InterlockedIncrement_acq(long volatile *)) + __MACHINEIA64(long _InterlockedIncrement_rel(long volatile *)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedIncrement64(__int64 volatile *)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedIncrement64_acq(__int64 volatile *)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedIncrement64_rel(__int64 volatile *)) + /* __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedIncrement64(__int64 volatile *)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIW64(__LONG32 _InterlockedOr(__LONG32 volatile *,__LONG32)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIW64(char _InterlockedOr8(char volatile *,char)) + __MACHINEIW64(short _InterlockedOr16(short volatile *,short)) + /* __MACHINEW64(__MINGW_EXTENSION __int64 _InterlockedOr64(__int64 volatile *,__int64)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIA64(long _InterlockedOr_acq(long volatile *,long)) + __MACHINEIA64(char _InterlockedOr8_acq(char volatile *,char)) + __MACHINEIA64(short _InterlockedOr16_acq(short volatile *,short)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedOr64_acq(__int64 volatile *,__int64)) + __MACHINEIA64(long _InterlockedOr_rel(long volatile *,long)) + __MACHINEIA64(char _InterlockedOr8_rel(char volatile *,char)) + __MACHINEIA64(short _InterlockedOr16_rel(short volatile *,short)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedOr64_rel(__int64 volatile *,__int64)) + /* __MACHINEIW64(__LONG32 _InterlockedXor(__LONG32 volatile *,__LONG32)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIW64(char _InterlockedXor8(char volatile *,char)) + __MACHINEIW64(short _InterlockedXor16(short volatile *,short)) + /* __MACHINEW64(__MINGW_EXTENSION __int64 _InterlockedXor64(__int64 volatile *,__int64)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIA64(long _InterlockedXor_acq(long volatile *,long)) + __MACHINEIA64(char _InterlockedXor8_acq(char volatile *,char)) + __MACHINEIA64(short _InterlockedXor16_acq(short volatile *,short)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedXor64_acq(__int64 volatile *,__int64)) + __MACHINEIA64(long _InterlockedXor_rel(long volatile *,long)) + __MACHINEIA64(char _InterlockedXor8_rel(char volatile *,char)) + __MACHINEIA64(short _InterlockedXor16_rel(short volatile *,short)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedXor64_rel(__int64 volatile *,__int64)) + /* __MACHINEIW64(__LONG32 _InterlockedAnd(__LONG32 volatile *,__LONG32)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIW64(char _InterlockedAnd8(char volatile *,char)) + __MACHINEIW64(short _InterlockedAnd16(short volatile *,short)) + /* __MACHINEW64(__MINGW_EXTENSION __int64 _InterlockedAnd64(__int64 volatile *,__int64)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIA64(long _InterlockedAnd_acq(long volatile *,long)) + __MACHINEIA64(char _InterlockedAnd8_acq(char volatile *,char)) + __MACHINEIA64(short _InterlockedAnd16_acq(short volatile *,short)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAnd64_acq(__int64 volatile *,__int64)) + __MACHINEIA64(long _InterlockedAnd_rel(long volatile *,long)) + __MACHINEIA64(char _InterlockedAnd8_rel(char volatile *,char)) + __MACHINEIA64(short _InterlockedAnd16_rel(short volatile *,short)) + __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAnd64_rel(__int64 volatile *,__int64)) + __MACHINEIA32(__MINGW_EXTENSION __LONG32 _InterlockedAddLargeStatistic(__int64 volatile *,__LONG32)) + __MACHINEI(int __cdecl _inp(unsigned short)) + __MACHINEI(int __cdecl inp(unsigned short)) + __MACHINEI(unsigned __LONG32 __cdecl _inpd(unsigned short)) + __MACHINEI(unsigned __LONG32 __cdecl inpd(unsigned short)) + __MACHINEI(unsigned short __cdecl _inpw(unsigned short)) + __MACHINEI(unsigned short __cdecl inpw(unsigned short)) + __MACHINEIA64(int __isNat(int)) + __MACHINEIA64(void __isrlz(void)) + __MACHINEIA64(void __invalat(void)) + __MACHINECE(int _isnan(double)) + __MACHINECE(int _isnanf(float)) + __MACHINECE(int _isunordered(double,double)) + __MACHINECE(int _isunorderedf(float,float)) + __MACHINEIA64(void __lfetch(int,void const *)) + __MACHINEIA64(void __lfetchfault(int,void const *)) + __MACHINEIA64(void __lfetch_excl(int,void const *)) + __MACHINEIA64(void __lfetchfault_excl(int,void const *)) + __MACHINEIA64(__MINGW_EXTENSION __int64 __load128(void *,__int64 *)) + __MACHINEIA64(__MINGW_EXTENSION __int64 __load128_acq(void *,__int64 *)) + __MACHINEZ(void __cdecl longjmp(jmp_buf,int)) + + /* __MACHINE(unsigned long __cdecl _lrotl(unsigned long,int)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINE(unsigned long __cdecl _lrotr(unsigned long,int)) moved to psdk_inc/intrin-impl.h */ + + __MACHINEI(__MINGW_EXTENSION unsigned __int64 __ll_lshift(unsigned __int64,int)) + __MACHINEI(__MINGW_EXTENSION __int64 __ll_rshift(__int64,int)) + __MACHINEIA64(__m64 __m64_czx1l(__m64)) + __MACHINEIA64(__m64 __m64_czx1r(__m64)) + __MACHINEIA64(__m64 __m64_czx2l(__m64)) + __MACHINEIA64(__m64 __m64_czx2r(__m64)) + __MACHINEIA64(__m64 __m64_dep_mi(const int,__m64,const int,const int)) + __MACHINEIA64(__m64 __m64_dep_mr(__m64,__m64,const int,const int)) + __MACHINEIA64(__m64 __m64_dep_zi(const int,const int,const int)) + __MACHINEIA64(__m64 __m64_dep_zr(__m64,const int,const int)) + __MACHINEIA64(__m64 __m64_extr(__m64,const int,const int)) + __MACHINEIA64(__m64 __m64_extru(__m64,const int,const int)) + __MACHINEIA64(__m64 __m64_mix1l(__m64,__m64)) + __MACHINEIA64(__m64 __m64_mix1r(__m64,__m64)) + __MACHINEIA64(__m64 __m64_mix2l(__m64,__m64)) + __MACHINEIA64(__m64 __m64_mix2r(__m64,__m64)) + __MACHINEIA64(__m64 __m64_mix4l(__m64,__m64)) + __MACHINEIA64(__m64 __m64_mix4r(__m64,__m64)) + __MACHINEIA64(__m64 __m64_mux1(__m64,const int)) + __MACHINEIA64(__m64 __m64_mux2(__m64,const int)) + __MACHINEIA64(__m64 __m64_muladd64hi(__m64,__m64,__m64)) + __MACHINEIA64(__m64 __m64_muladd64hi_u(__m64,__m64,__m64)) + __MACHINEIA64(__m64 __m64_muladd64lo(__m64,__m64,__m64)) + __MACHINEIA64(__m64 __m64_padd1uus(__m64,__m64)) + __MACHINEIA64(__m64 __m64_padd2uus(__m64,__m64)) + __MACHINEIA64(__m64 __m64_pavg1_nraz(__m64,__m64)) + __MACHINEIA64(__m64 __m64_pavg2_nraz(__m64,__m64)) + __MACHINEIA64(__m64 __m64_pavgsub1(__m64,__m64)) + __MACHINEIA64(__m64 __m64_pavgsub2(__m64,__m64)) + __MACHINEIA64(__m64 __m64_pmpy2l(__m64,__m64)) + __MACHINEIA64(__m64 __m64_pmpy2r(__m64,__m64)) + __MACHINEIA64(__m64 __m64_pmpyshr2(__m64,__m64,const int)) + __MACHINEIA64(__m64 __m64_pmpyshr2u(__m64,__m64,const int)) + __MACHINEIA64(__m64 __m64_popcnt(__m64)) + __MACHINEIA64(__m64 __m64_pshladd2(__m64,const int,__m64)) + __MACHINEIA64(__m64 __m64_pshradd2(__m64,const int,__m64)) + __MACHINEIA64(__m64 __m64_psub1uus(__m64,__m64)) + __MACHINEIA64(__m64 __m64_psub2uus(__m64,__m64)) + __MACHINEIA64(__m64 __m64_shladd(__m64,const int,__m64)) + __MACHINEIA64(__m64 __m64_shrp(__m64,__m64,const int)) + __MACHINEIA64(void __mf(void)) + __MACHINEIA64(void __mfa(void)) + __MACHINECE(long _MulHigh(long,long)) + __MACHINECE(unsigned long _MulUnsignedHigh (unsigned long,unsigned long)) + __MACHINEI(int __cdecl _outp(unsigned short,int)) + __MACHINEI(int __cdecl outp(unsigned short,int)) + __MACHINEI(unsigned __LONG32 __cdecl _outpd(unsigned short,unsigned __LONG32)) + __MACHINEI(unsigned __LONG32 __cdecl outpd(unsigned short,unsigned __LONG32)) + __MACHINEI(unsigned short __cdecl _outpw(unsigned short,unsigned short)) + __MACHINEI(unsigned short __cdecl outpw(unsigned short,unsigned short)) + __MACHINECE(void __cdecl __prefetch(unsigned long *addr)) + __MACHINEARM_ARM64(void __cdecl __prefetch(const void *addr)) + __MACHINEIA64(__MINGW_EXTENSION void __ptcl(__int64,__int64)) + __MACHINEIA64(__MINGW_EXTENSION void __ptcg(__int64,__int64)) + __MACHINEIA64(__MINGW_EXTENSION void __ptcga(__int64,__int64)) + __MACHINEIA64(__MINGW_EXTENSION void __ptrd(__int64,__int64)) + __MACHINEIA64(__MINGW_EXTENSION void __ptri(__int64,__int64)) + __MACHINEIA64(void *_rdteb(void)) + __MACHINESA(int _ReadStatusReg(int)) + /* __MACHINECE(void _ReadWriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIA64(__MINGW_EXTENSION void _ReleaseSpinLock(unsigned __int64 *)) + __MACHINEI(void *_ReturnAddress(void)) + __MACHINEIA64(void *_ReturnAddress(void)) + __MACHINESA(void *_ReturnAddress(void)) + __MACHINECE(void *_ReturnAddress(void)) +#pragma push_macro ("_rotl") +#undef _rotl + __MACHINE(unsigned int __cdecl _rotl(unsigned int,int)) +#pragma pop_macro ("_rotl") +#pragma push_macro ("_rotr") +#undef _rotr + __MACHINE(unsigned int __cdecl _rotr(unsigned int,int)) +#pragma pop_macro ("_rotr") +#undef _rotl64 +#undef _rotr64 + __MACHINE(__MINGW_EXTENSION unsigned __int64 __cdecl _rotl64(unsigned __int64,int)) + __MACHINE(__MINGW_EXTENSION unsigned __int64 __cdecl _rotr64(unsigned __int64,int)) +#define _rotl64 __rolq +#define _rotr64 __rorq + __MACHINEIA64(void __rsm(int)) + __MACHINEIA64(void __rum(int)) +#ifndef __CYGWIN__ +#ifndef USE_NO_MINGW_SETJMP_TWO_ARGS + __MACHINEIA32(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf)) + __MACHINEX64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf,void *)) + __MACHINEIA64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf,void *)) + __MACHINEX64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf,void *)) +#else + __MACHINE(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf)) + __MACHINEIA64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf)) + __MACHINEX64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf)) +#endif +#endif + __MACHINEIA64(__MINGW_EXTENSION void __setReg(int,unsigned __int64)) + __MACHINEARMX(void _SmulAdd_SL_ACC(int,int)) + __MACHINEARMX(void _SmulAddPack_2SW_ACC(int,int)) + __MACHINEARMX(void _SmulAddLo_SW_ACC(int,int)) + __MACHINEARMX(void _SmulAddHi_SW_ACC(int,int)) + __MACHINEARMX(void _SmulAddHiLo_SW_ACC(int,int)) + __MACHINEARMX(void _SmulAddLoHi_SW_ACC(int,int)) + __MACHINEIA64(__MINGW_EXTENSION void __store128(void *,__int64,__int64)) + __MACHINEIA64(__MINGW_EXTENSION void __store128_rel(void *,__int64,__int64)) + __MACHINE(char *__cdecl _strset(char *,int)) + __MACHINE(char *__cdecl strset(char *,int)) + __MACHINEIA64(void __ssm(int)) + __MACHINEIA64(void __sum(int)) + __MACHINESA(int __swi(unsigned,...)) + __MACHINEIA64(void __synci(void)) + __MACHINEIA64(__MINGW_EXTENSION __int64 __thash(__int64)) + __MACHINEIA64(__MINGW_EXTENSION __int64 __ttag(__int64)) + __MACHINECE(int __trap(int,...)) + __MACHINEI(__MINGW_EXTENSION unsigned __int64 __ull_rshift(unsigned __int64,int)) + __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __UMULH(unsigned __int64 a,unsigned __int64 b)) + __MACHINECE(wchar_t *__cdecl wcscat(wchar_t * __restrict__ ,const wchar_t * __restrict__ )) + __MACHINECE(int __cdecl wcscmp(const wchar_t *,const wchar_t *)) + __MACHINECE(wchar_t *__cdecl wcscpy(wchar_t * __restrict__ ,const wchar_t * __restrict__ )) + __MACHINECE(size_t __cdecl wcslen(const wchar_t *)) + __MACHINECE(int __cdecl wcsncmp(const wchar_t *,const wchar_t *,size_t)) + __MACHINECE(wchar_t *__cdecl wcsncpy(wchar_t * __restrict__ ,const wchar_t * __restrict__ ,size_t)) + __MACHINECE(wchar_t *__cdecl _wcsset(wchar_t *,wchar_t)) + /* __MACHINECE(void _WriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ + __MACHINESA(void _WriteStatusReg(int,int,int)) + __MACHINEI(void *_AddressOfReturnAddress(void)) + __MACHINEIA64(void __yield(void)) + __MACHINEIA64(void __fci(void*)) + +#if !defined(__GNUC__) || (!defined(__MMX__) && !defined(__MINGW_FORCE_SYS_INTRINS)) + __MACHINEX86X_NOX64(void _m_empty(void)) + __MACHINEX86X_NOX64(__m64 _m_from_int(int)) + __MACHINEX86X_NOX64(int _m_to_int(__m64)) + __MACHINEX86X_NOX64(__m64 _m_packsswb(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_packssdw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_packuswb(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_punpckhbw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_punpckhwd(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_punpckhdq(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_punpcklbw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_punpcklwd(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_punpckldq(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_paddb(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_paddw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_paddd(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_paddsb(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_paddsw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_paddusb(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_paddusw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psubb(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psubw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psubd(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psubsb(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psubsw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psubusb(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psubusw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pmaddwd(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pmulhw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pmullw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psllw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psllwi(__m64,int)) + __MACHINEX86X_NOX64(__m64 _m_pslld(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pslldi(__m64,int)) + __MACHINEX86X_NOX64(__m64 _m_psllq(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psllqi(__m64,int)) + __MACHINEX86X_NOX64(__m64 _m_psraw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psrawi(__m64,int)) + __MACHINEX86X_NOX64(__m64 _m_psrad(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psradi(__m64,int)) + __MACHINEX86X_NOX64(__m64 _m_psrlw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psrlwi(__m64,int)) + __MACHINEX86X_NOX64(__m64 _m_psrld(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psrldi(__m64,int)) + __MACHINEX86X_NOX64(__m64 _m_psrlq(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psrlqi(__m64,int)) + __MACHINEX86X_NOX64(__m64 _m_pand(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pandn(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_por(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pxor(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pcmpeqb(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pcmpeqw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pcmpeqd(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pcmpgtb(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pcmpgtw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pcmpgtd(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _mm_setzero_si64(void)) + __MACHINEX86X_NOX64(__m64 _mm_set_pi32(int,int)) + __MACHINEX86X_NOX64(__m64 _mm_set_pi16(short,short,short,short)) + __MACHINEX86X_NOX64(__m64 _mm_set_pi8(char,char,char,char,char,char,char,char)) + __MACHINEX86X_NOX64(__m64 _mm_set1_pi32(int)) + __MACHINEX86X_NOX64(__m64 _mm_set1_pi16(short)) + __MACHINEX86X_NOX64(__m64 _mm_set1_pi8(char)) + __MACHINEX86X_NOX64(__m64 _mm_setr_pi32(int,int)) + __MACHINEX86X_NOX64(__m64 _mm_setr_pi16(short,short,short,short)) + __MACHINEX86X_NOX64(__m64 _mm_setr_pi8(char,char,char,char,char,char,char,char)) +#endif +#if !defined(__GNUC__) || (!defined(__SSE__) && !defined(__MINGW_FORCE_SYS_INTRINS)) +#pragma push_macro ("_m_pextrw") +#undef _m_pextrw + __MACHINEX86X_NOX64(int _m_pextrw(__m64,int)) + __MACHINECC(__MINGW_EXTENSION int _m_pextrw(unsigned __int64 m1,const int c)) +#pragma pop_macro ("_m_pextrw") +#pragma push_macro ("_m_pinsrw") +#undef _m_pinsrw + __MACHINEX86X_NOX64(__m64 _m_pinsrw(__m64,int,int)) +#pragma pop_macro ("_m_pinsrw") + __MACHINEX86X_NOX64(__m64 _m_pmaxsw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pmaxub(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pminsw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pminub(__m64,__m64)) + __MACHINEX86X_NOX64(int _m_pmovmskb(__m64)) + __MACHINEX86X_NOX64(__m64 _m_pmulhuw(__m64,__m64)) +#pragma push_macro ("_m_pshufw") +#undef _m_pshufw + __MACHINEX86X_NOX64(__m64 _m_pshufw(__m64,int)) +#pragma pop_macro ("_m_pshufw") + __MACHINEX86X_NOX64(void _m_maskmovq(__m64,__m64,char*)) + __MACHINEX86X_NOX64(__m64 _m_pavgb(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_pavgw(__m64,__m64)) + __MACHINEX86X_NOX64(__m64 _m_psadbw(__m64,__m64)) +#endif +#if !defined(__GNUC__) || (!defined(__SSE__) && !defined(__MINGW_FORCE_SYS_INTRINS)) + __MACHINEX86X_NOIA64(__m128 _mm_add_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_add_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_sub_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_sub_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_mul_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_mul_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_div_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_div_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_sqrt_ss(__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_sqrt_ps(__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_rcp_ss(__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_rcp_ps(__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_rsqrt_ss(__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_rsqrt_ps(__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_min_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_min_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_max_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_max_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_and_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_andnot_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_or_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_xor_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpeq_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpeq_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmplt_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmplt_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmple_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmple_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpgt_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpgt_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpge_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpge_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpneq_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpneq_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpnlt_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpnlt_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpnle_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpnle_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpngt_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpngt_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpnge_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpnge_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpord_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpord_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpunord_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cmpunord_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_comieq_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_comilt_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_comile_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_comigt_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_comige_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_comineq_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_ucomieq_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_ucomilt_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_ucomile_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_ucomigt_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_ucomige_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_ucomineq_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(int _mm_cvt_ss2si(__m128)) + __MACHINEX86X_NOWIN64(__m64 _mm_cvt_ps2pi(__m128)) + __MACHINEX86X_NOIA64(int _mm_cvtt_ss2si(__m128)) + __MACHINEX86X_NOWIN64(__m64 _mm_cvtt_ps2pi(__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_cvt_si2ss(__m128,int)) + __MACHINEX86X_NOWIN64(__m128 _mm_cvt_pi2ps(__m128,__m64)) +#pragma push_macro ("_mm_shuffle_ps") +#undef _mm_shuffle_ps + __MACHINEX86X_NOIA64(__m128 _mm_shuffle_ps(__m128,__m128,int const)) +#pragma pop_macro ("_mm_shuffle_ps") + __MACHINEX86X_NOIA64(__m128 _mm_unpackhi_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_unpacklo_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_loadh_pi(__m128,__m64 const*)) + __MACHINEX86X_NOIA64(void _mm_storeh_pi(__m64*,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_loadl_pi(__m128,__m64 const*)) + __MACHINEX86X_NOIA64(void _mm_storel_pi(__m64*,__m128)) + __MACHINEX86X_NOIA64(int _mm_movemask_ps(__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_set_ss(float)) + __MACHINEX86X_NOIA64(__m128 _mm_set_ps1(float)) + __MACHINEX86X_NOIA64(__m128 _mm_set_ps(float,float,float,float)) + __MACHINEX86X_NOIA64(__m128 _mm_setr_ps(float,float,float,float)) + __MACHINEX86X_NOIA64(__m128 _mm_setzero_ps(void)) + __MACHINEX86X_NOIA64(__m128 _mm_load_ss(float const*)) + __MACHINEX86X_NOIA64(__m128 _mm_load_ps1(float const*)) + __MACHINEX86X_NOIA64(__m128 _mm_load_ps(float const*)) + __MACHINEX86X_NOIA64(__m128 _mm_loadr_ps(float const*)) + __MACHINEX86X_NOIA64(__m128 _mm_loadu_ps(float const*)) + __MACHINEX86X_NOIA64(__m128 _mm_move_ss(__m128,__m128)) + __MACHINEX86X_NOIA64(void _mm_store_ss(float*,__m128)) + __MACHINEX86X_NOIA64(void _mm_store_ps1(float*,__m128)) + __MACHINEX86X_NOIA64(void _mm_store_ps(float*,__m128)) + __MACHINEX86X_NOIA64(void _mm_storer_ps(float*,__m128)) + __MACHINEX86X_NOIA64(void _mm_storeu_ps(float*,__m128)) +/* __MACHINEX86X_NOIA64(void _mm_prefetch(char const*,int)) */ + __MACHINEX86X_NOWIN64(void _mm_stream_pi(__m64*,__m64)) + __MACHINEX86X_NOIA64(void _mm_stream_ps(float*,__m128)) + __MACHINEX86X_NOIA64(void _mm_sfence(void)) + __MACHINEX86X_NOIA64(unsigned int _mm_getcsr(void)) + __MACHINEX86X_NOIA64(void _mm_setcsr(unsigned int)) + __MACHINEX86X_NOIA64(__m128 _mm_movelh_ps(__m128,__m128)) + __MACHINEX86X_NOIA64(__m128 _mm_movehl_ps(__m128,__m128)) +#endif +#if !defined(__GNUC__) || (!defined(__3dNOW__) && !defined(__MINGW_FORCE_SYS_INTRINS)) + __MACHINEX86X_NOWIN64(__m64 _m_from_float(float)) + __MACHINEX86X_NOWIN64(float _m_to_float(__m64)) + __MACHINEX86X_NOIA64(void _m_prefetch(void*)) + __MACHINEX86X_NOIA64(void _m_prefetchw(void*_Source)) + __MACHINEX86X_NOWIN64(void _m_femms(void)) + __MACHINEX86X_NOWIN64(__m64 _m_pavgusb(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pf2id(__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfacc(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfadd(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfcmpeq(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfcmpge(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfcmpgt(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfmax(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfmin(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfmul(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfrcp(__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfrcpit1(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfrcpit2(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfrsqrt(__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfrsqit1(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfsub(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfsubr(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pi2fd(__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pmulhrw(__m64,__m64)) +#endif + __MACHINEX86X_NOWIN64(__m64 _m_pf2iw(__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfnacc(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pfpnacc(__m64,__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pi2fw(__m64)) + __MACHINEX86X_NOWIN64(__m64 _m_pswapd(__m64)) +#if !defined(__GNUC__) || (!defined(__SSE2__) && !defined(__MINGW_FORCE_SYS_INTRINS)) + __MACHINEX86X(__m128d _mm_add_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_add_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_div_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_div_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_max_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_max_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_min_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_min_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_mul_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_mul_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_sqrt_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_sqrt_pd(__m128d)) + __MACHINEX86X(__m128d _mm_sub_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_sub_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_and_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_andnot_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_or_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_xor_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpeq_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpeq_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmplt_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmplt_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmple_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmple_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpgt_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpgt_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpge_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpge_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpneq_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpneq_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpnlt_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpnlt_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpnle_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpnle_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpngt_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpngt_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpnge_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpnge_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpord_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpord_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpunord_sd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_cmpunord_pd(__m128d,__m128d)) + __MACHINEX86X(int _mm_comieq_sd(__m128d,__m128d)) + __MACHINEX86X(int _mm_comilt_sd(__m128d,__m128d)) + __MACHINEX86X(int _mm_comile_sd(__m128d,__m128d)) + __MACHINEX86X(int _mm_comigt_sd(__m128d,__m128d)) + __MACHINEX86X(int _mm_comige_sd(__m128d,__m128d)) + __MACHINEX86X(int _mm_comineq_sd(__m128d,__m128d)) + __MACHINEX86X(int _mm_ucomieq_sd(__m128d,__m128d)) + __MACHINEX86X(int _mm_ucomilt_sd(__m128d,__m128d)) + __MACHINEX86X(int _mm_ucomile_sd(__m128d,__m128d)) + __MACHINEX86X(int _mm_ucomigt_sd(__m128d,__m128d)) + __MACHINEX86X(int _mm_ucomige_sd(__m128d,__m128d)) + __MACHINEX86X(int _mm_ucomineq_sd(__m128d,__m128d)) + __MACHINEX86X(__m128 _mm_cvtpd_ps(__m128d)) + __MACHINEX86X(__m128d _mm_cvtps_pd(__m128)) + __MACHINEX86X(__m128d _mm_cvtepi32_pd(__m128i)) + __MACHINEX86X(__m128i _mm_cvtpd_epi32(__m128d)) + __MACHINEX86X(int _mm_cvtsd_si32(__m128d)) + __MACHINEX86X(__m128 _mm_cvtsd_ss(__m128,__m128d)) + __MACHINEX86X(__m128d _mm_cvtsi32_sd(__m128d,int)) + __MACHINEX86X(__m128d _mm_cvtss_sd(__m128d,__m128)) + __MACHINEX86X(__m128i _mm_cvttpd_epi32(__m128d)) + __MACHINEX86X(int _mm_cvttsd_si32(__m128d)) + __MACHINEX86X(__m128 _mm_cvtepi32_ps(__m128i)) + __MACHINEX86X(__m128i _mm_cvtps_epi32(__m128)) + __MACHINEX86X(__m128i _mm_cvttps_epi32(__m128)) + __MACHINEX86X_NOX64(__m64 _mm_cvtpd_pi32(__m128d)) + __MACHINEX86X_NOX64(__m64 _mm_cvttpd_pi32(__m128d)) + __MACHINEX86X_NOX64(__m128d _mm_cvtpi32_pd(__m64)) + __MACHINEX86X(__m128d _mm_unpackhi_pd(__m128d,__m128d)) + __MACHINEX86X(__m128d _mm_unpacklo_pd(__m128d,__m128d)) + __MACHINEX86X(int _mm_movemask_pd(__m128d)) + /* __MACHINEX86X(__m128d _mm_shuffle_pd(__m128d,__m128d,int)) */ + __MACHINEX86X(__m128d _mm_load_pd(double const*)) + __MACHINEX86X(__m128d _mm_load1_pd(double const*)) + __MACHINEX86X(__m128d _mm_loadr_pd(double const*)) + __MACHINEX86X(__m128d _mm_loadu_pd(double const*)) + __MACHINEX86X(__m128d _mm_load_sd(double const*)) + __MACHINEX86X(__m128d _mm_loadh_pd(__m128d,double const*)) + __MACHINEX86X(__m128d _mm_loadl_pd(__m128d,double const*)) + __MACHINEX86X(__m128d _mm_set_sd(double)) + __MACHINEX86X(__m128d _mm_set1_pd(double)) + __MACHINEX86X(__m128d _mm_set_pd(double,double)) + __MACHINEX86X(__m128d _mm_setr_pd(double,double)) + __MACHINEX86X(__m128d _mm_setzero_pd(void)) + __MACHINEX86X(__m128d _mm_move_sd(__m128d,__m128d)) + __MACHINEX86X(void _mm_store_sd(double*,__m128d)) + __MACHINEX86X(void _mm_store1_pd(double*,__m128d)) + __MACHINEX86X(void _mm_store_pd(double*,__m128d)) + __MACHINEX86X(void _mm_storeu_pd(double*,__m128d)) + __MACHINEX86X(void _mm_storer_pd(double*,__m128d)) + __MACHINEX86X(void _mm_storeh_pd(double*,__m128d)) + __MACHINEX86X(void _mm_storel_pd(double*,__m128d)) + __MACHINEX86X(__m128i _mm_add_epi8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_add_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_add_epi32(__m128i,__m128i)) +#endif + +#if !defined(__GNUC__) || (!defined(__MMX__) && !defined(__MINGW_FORCE_SYS_INTRINS)) + __MACHINEX86X_NOX64(__m64 _mm_add_si64(__m64,__m64)) +#endif + +#if !defined(__GNUC__) || (!defined(__SSE2__) && !defined(__MINGW_FORCE_SYS_INTRINS)) + __MACHINEX86X(__m128i _mm_add_epi64(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_adds_epi8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_adds_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_adds_epu8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_adds_epu16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_avg_epu8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_avg_epu16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_madd_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_max_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_max_epu8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_min_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_min_epu8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_mulhi_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_mulhi_epu16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_mullo_epi16(__m128i,__m128i)) + __MACHINEX86X_NOX64(__m64 _mm_mul_su32(__m64,__m64)) + __MACHINEX86X(__m128i _mm_mul_epu32(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_sad_epu8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_sub_epi8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_sub_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_sub_epi32(__m128i,__m128i)) +#endif +#if !defined(__GNUC__) || (!defined(__MMX__) && !defined(__MINGW_FORCE_SYS_INTRINS)) + __MACHINEX86X_NOX64(__m64 _mm_sub_si64(__m64,__m64)) +#endif +#if !defined(__GNUC__) || (!defined(__SSE2__) && !defined(__MINGW_FORCE_SYS_INTRINS)) + __MACHINEX86X(__m128i _mm_sub_epi64(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_subs_epi8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_subs_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_subs_epu8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_subs_epu16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_andnot_si128(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_and_si128(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_or_si128(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_xor_si128(__m128i,__m128i)) + /* __MACHINEX86X(__m128i _mm_slli_si128(__m128i,int)) */ +/* __MACHINEX86X(__m128i _mm_slli_epi16(__m128i,int)) */ + __MACHINEX86X(__m128i _mm_sll_epi16(__m128i,__m128i)) +/* __MACHINEX86X(__m128i _mm_slli_epi32(__m128i,int)) */ + __MACHINEX86X(__m128i _mm_sll_epi32(__m128i,__m128i)) +/* __MACHINEX86X(__m128i _mm_slli_epi64(__m128i,int)) */ + __MACHINEX86X(__m128i _mm_sll_epi64(__m128i,__m128i)) +/* __MACHINEX86X(__m128i _mm_srai_epi16(__m128i,int)) */ + __MACHINEX86X(__m128i _mm_sra_epi16(__m128i,__m128i)) +/* __MACHINEX86X(__m128i _mm_srai_epi32(__m128i,int)) */ + __MACHINEX86X(__m128i _mm_sra_epi32(__m128i,__m128i)) + /* __MACHINEX86X(__m128i _mm_srli_si128(__m128i,int)) */ +/* __MACHINEX86X(__m128i _mm_srli_epi16(__m128i,int)) */ + __MACHINEX86X(__m128i _mm_srl_epi16(__m128i,__m128i)) +/* __MACHINEX86X(__m128i _mm_srli_epi32(__m128i,int)) */ + __MACHINEX86X(__m128i _mm_srl_epi32(__m128i,__m128i)) +/* __MACHINEX86X(__m128i _mm_srli_epi64(__m128i,int)) */ + __MACHINEX86X(__m128i _mm_srl_epi64(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_cmpeq_epi8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_cmpeq_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_cmpeq_epi32(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_cmpgt_epi8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_cmpgt_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_cmpgt_epi32(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_cmplt_epi8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_cmplt_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_cmplt_epi32(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_cvtsi32_si128(int)) + __MACHINEX86X(int _mm_cvtsi128_si32(__m128i)) + __MACHINEX86X(__m128i _mm_packs_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_packs_epi32(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_packus_epi16(__m128i,__m128i)) + /* __MACHINEX86X(int _mm_extract_epi16(__m128i,int)) */ + /* __MACHINEX86X(__m128i _mm_insert_epi16(__m128i,int,int)) */ + __MACHINEX86X(int _mm_movemask_epi8(__m128i)) + /* __MACHINEX86X(__m128i _mm_shuffle_epi32(__m128i,int)) */ + /* __MACHINEX86X(__m128i _mm_shufflehi_epi16(__m128i,int)) */ + /* __MACHINEX86X(__m128i _mm_shufflelo_epi16(__m128i,int)) */ + __MACHINEX86X(__m128i _mm_unpackhi_epi8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_unpackhi_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_unpackhi_epi32(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_unpackhi_epi64(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_unpacklo_epi8(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_unpacklo_epi16(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_unpacklo_epi32(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_unpacklo_epi64(__m128i,__m128i)) + __MACHINEX86X(__m128i _mm_load_si128(__m128i const*)) + __MACHINEX86X(__m128i _mm_loadu_si128(__m128i const*)) + __MACHINEX86X(__m128i _mm_loadl_epi64(__m128i const*)) + __MACHINEX86X_NOX64(__m128i _mm_set_epi64(__m64,__m64)) + __MACHINEX86X(__m128i _mm_set_epi32(int,int,int,int)) + __MACHINEX86X(__m128i _mm_set_epi16(short,short,short,short,short,short,short,short)) + __MACHINEX86X(__m128i _mm_set_epi8(char,char,char,char,char,char,char,char,char,char,char,char,char,char,char,char)) + __MACHINEX86X_NOX64(__m128i _mm_set1_epi64(__m64)) + __MACHINEX86X(__m128i _mm_set1_epi32(int)) + __MACHINEX86X(__m128i _mm_set1_epi16(short)) + __MACHINEX86X(__m128i _mm_set1_epi8(char)) + __MACHINEX86X(__m128i _mm_setl_epi64(__m128i)) + __MACHINEX86X_NOX64(__m128i _mm_setr_epi64(__m64,__m64)) + __MACHINEX86X(__m128i _mm_setr_epi32(int,int,int,int)) + __MACHINEX86X(__m128i _mm_setr_epi16(short,short,short,short,short,short,short,short)) + __MACHINEX86X(__m128i _mm_setr_epi8(char,char,char,char,char,char,char,char,char,char,char,char,char,char,char,char)) + __MACHINEX86X(__m128i _mm_setzero_si128(void)) + __MACHINEX86X(void _mm_store_si128(__m128i*,__m128i)) + __MACHINEX86X(void _mm_storeu_si128(__m128i*,__m128i)) + __MACHINEX86X(void _mm_storel_epi64(__m128i*,__m128i)) + __MACHINEX86X(void _mm_maskmoveu_si128(__m128i,__m128i,char*)) + __MACHINEX86X(__m128i _mm_move_epi64(__m128i)) + __MACHINEX86X_NOX64(__m128i _mm_movpi64_epi64(__m64)) + __MACHINEX86X_NOX64(__m64 _mm_movepi64_pi64(__m128i)) + __MACHINEX86X(void _mm_stream_pd(double*,__m128d)) + __MACHINEX86X(void _mm_stream_si128(__m128i*,__m128i)) + __MACHINEX86X(void _mm_clflush(void const *)) + __MACHINEX86X(void _mm_lfence(void)) + __MACHINEX86X(void _mm_mfence(void)) + __MACHINEX86X(void _mm_stream_si32(int*,int)) +#endif +#if !defined(__GNUC__) || (!defined(__SSE__) && !defined(__MINGW_FORCE_SYS_INTRINS)) + __MACHINEX86X(void _mm_pause(void)) +#endif +#if !defined(__GNUC__) || (!defined(__SSE3__) && !defined(__MINGW_FORCE_SYS_INTRINS)) + __MACHINEX86X(__m128 _mm_addsub_ps(__m128,__m128)) + __MACHINEX86X(__m128d _mm_addsub_pd(__m128d,__m128d)) + __MACHINEX86X(__m128 _mm_hadd_ps(__m128,__m128)) + __MACHINEX86X(__m128d _mm_hadd_pd(__m128d,__m128d)) + __MACHINEX86X(__m128 _mm_hsub_ps(__m128,__m128)) + __MACHINEX86X(__m128d _mm_hsub_pd(__m128d,__m128d)) + __MACHINEX86X(__m128i _mm_lddqu_si128(__m128i const*)) + __MACHINEX86X(void _mm_monitor(void const*,unsigned int,unsigned int)) + __MACHINEX86X(__m128d _mm_movedup_pd(__m128d)) + __MACHINEX86X(__m128d _mm_loaddup_pd(double const*)) + __MACHINEX86X(__m128 _mm_movehdup_ps(__m128)) + __MACHINEX86X(__m128 _mm_moveldup_ps(__m128)) + __MACHINEX86X(void _mm_mwait(unsigned int,unsigned int)) +#endif + /* __MACHINEI(void _WriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void _ReadWriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA64(void _WriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA64(void _ReadWriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(void __faststorefence(void)) moved to psdk_inc/intrin-impl.h */ + __MACHINEX64(__MINGW_EXTENSION __int64 __mulh(__int64,__int64)) + __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __umulh(unsigned __int64,unsigned __int64)) + /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr0(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr2(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr3(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr4(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr8(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(unsigned __LONG32 __readcr0(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(unsigned __LONG32 __readcr2(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(unsigned __LONG32 __readcr3(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(unsigned __LONG32 __readcr4(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(unsigned __LONG32 __readcr8(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION void __writecr0(unsigned __int64)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION void __writecr3(unsigned __int64)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION void __writecr4(unsigned __int64)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION void __writecr8(unsigned __int64)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(void __writecr0(unsigned)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(void __writecr3(unsigned)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(void __writecr4(unsigned)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(void __writecr8(unsigned)) moved to psdk_inc/intrin-impl.h */ + __MACHINEI(void __wbinvd(void)) + __MACHINEI(void __invlpg(void*)) + /* __MACHINEI(__MINGW_EXTENSION unsigned __int64 __readmsr(unsigned __LONG32)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(__MINGW_EXTENSION void __writemsr(unsigned __LONG32,unsigned __int64)) moved to psdk_inc/intrin-impl.h */ +#ifndef __GNUC__ + __MACHINEIW64(__MINGW_EXTENSION unsigned __int64 __rdtsc(void)) +#endif + /* __MACHINEI(void __movsb(unsigned char *,unsigned char const *,size_t)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __movsw(unsigned short *,unsigned short const *,size_t)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __movsd(unsigned __LONG32 *,unsigned __LONG32 const *,size_t)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION void __movsq(unsigned long long *,unsigned long long const *,size_t)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(unsigned char __readgsbyte(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(unsigned short __readgsword(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(unsigned __LONG32 __readgsdword(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readgsqword(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(void __writegsbyte(unsigned __LONG32 Offset,unsigned char Data)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(void __writegsword(unsigned __LONG32 Offset,unsigned short Data)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(void __writegsdword(unsigned __LONG32 Offset,unsigned __LONG32 Data)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION void __writegsqword(unsigned __LONG32 Offset,unsigned __int64 Data)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(unsigned char __inbyte(unsigned short Port)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(unsigned short __inword(unsigned short Port)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(unsigned __LONG32 __indword(unsigned short Port)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __outbyte(unsigned short Port,unsigned char Data)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __outword(unsigned short Port,unsigned short Data)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __outdword(unsigned short Port,unsigned __LONG32 Data)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __inbytestring(unsigned short Port,unsigned char *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __inwordstring(unsigned short Port,unsigned short *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __indwordstring(unsigned short Port,unsigned __LONG32 *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __outbytestring(unsigned short Port,unsigned char *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __outwordstring(unsigned short Port,unsigned short *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __outdwordstring(unsigned short Port,unsigned __LONG32 *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ + __MACHINEI(unsigned int __getcallerseflags()) +#if !defined(__GNUC__) || (!defined(__SSE2__) && !defined(__MINGW_FORCE_SYS_INTRINS)) + __MACHINEX64(__MINGW_EXTENSION __m128i _mm_set_epi64x(__int64 i1,__int64 i0)) + __MACHINEX64(__MINGW_EXTENSION __m128i _mm_set1_epi64x(__int64 i)) + __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvtsd_si64x(__m128d a)) + __MACHINEX64(__MINGW_EXTENSION __m128d _mm_cvtsi64x_sd(__m128d a,__int64 b)) + __MACHINEX64(__MINGW_EXTENSION __m128 _mm_cvtsi64x_ss(__m128 a,__int64 b)) + __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvtss_si64x(__m128 a)) + __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvttsd_si64x(__m128d a)) + __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvttss_si64x(__m128 a)) + __MACHINEX64(__MINGW_EXTENSION __m128i _mm_cvtsi64x_si128(__int64 a)) + __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvtsi128_si64x(__m128i a)) +#endif + __MACHINEX64(__MINGW_EXTENSION void _mm_stream_si64x(__int64 *,__int64)) + /* __MACHINEI(void __stosb(unsigned char *,unsigned char,size_t)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __stosw(unsigned short *,unsigned short,size_t)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __stosd(unsigned __LONG32 *,unsigned __LONG32,size_t)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION void __stosq(unsigned __int64 *,unsigned __int64,size_t)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIW64(unsigned char _bittest(__LONG32 const *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIW64(unsigned char _bittestandset(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIW64(unsigned char _bittestandreset(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIW64(unsigned char _bittestandcomplement(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(unsigned char InterlockedBitTestAndSet(volatile __LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(unsigned char InterlockedBitTestAndReset(volatile __LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(unsigned char InterlockedBitTestAndComplement(volatile __LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(unsigned char _interlockedbittestandset(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(unsigned char _interlockedbittestandreset(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(unsigned char _interlockedbittestandcomplement(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEW64(__MINGW_EXTENSION unsigned char _bittest64(__int64 const *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEW64(__MINGW_EXTENSION unsigned char _bittestandset64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEW64(__MINGW_EXTENSION unsigned char _bittestandreset64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEW64(__MINGW_EXTENSION unsigned char _bittestandcomplement64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION unsigned char InterlockedBitTestAndSet64(volatile __int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION unsigned char InterlockedBitTestAndReset64(volatile __int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION unsigned char InterlockedBitTestAndComplement64(volatile __int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION unsigned char _interlockedbittestandset64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION unsigned char _interlockedbittestandreset64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEX64(__MINGW_EXTENSION unsigned char _interlockedbittestandcomplement64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ + __MACHINEI(void __cpuid(int a[4],int b)) + __MACHINEI(__MINGW_EXTENSION unsigned __int64 __readpmc(unsigned __LONG32 a)) + __MACHINEI(unsigned __LONG32 __segmentlimit(unsigned __LONG32 a)) + + /* __MACHINEIA32(unsigned char __readfsbyte(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(unsigned short __readfsword(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(unsigned __LONG32 __readfsdword(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(__MINGW_EXTENSION unsigned __int64 __readfsqword(unsigned __LONG32 Offset)) intrinsic doesn't actually exist */ + /* __MACHINEIA32(void __writefsbyte(unsigned __LONG32 Offset,unsigned char Data)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(void __writefsword(unsigned __LONG32 Offset,unsigned short Data)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(void __writefsdword(unsigned __LONG32 Offset,unsigned __LONG32 Data)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIA32(__MINGW_EXTENSION void __writefsqword(unsigned __LONG32 Offset,unsigned __int64 Data)) intrinsic doesn't actually exist */ + + __MACHINE(__MINGW_EXTENSION __int64 __cdecl _abs64(__int64)) + + /* __MACHINEIW64(unsigned char _BitScanForward(unsigned __LONG32 *Index,unsigned __LONG32 Mask)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIW64(unsigned char _BitScanReverse(unsigned __LONG32 *Index,unsigned __LONG32 Mask)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEW64(__MINGW_EXTENSION unsigned char _BitScanForward64(unsigned __LONG32 *Index,unsigned __int64 Mask)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEW64(__MINGW_EXTENSION unsigned char _BitScanReverse64(unsigned __LONG32 *Index,unsigned __int64 Mask)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIW64(_CRTIMP wchar_t *__cdecl _wcsset(wchar_t *,wchar_t)) + /* __MACHINEW64(__MINGW_EXTENSION unsigned __int64 __shiftleft128(unsigned __int64 LowPart,unsigned __int64 HighPart,unsigned char Shift)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEW64(__MINGW_EXTENSION unsigned __int64 __shiftright128(unsigned __int64 LowPart,unsigned __int64 HighPart,unsigned char Shift)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEW64(__MINGW_EXTENSION unsigned __int64 _umul128(unsigned __int64 multiplier,unsigned __int64 multiplicand,unsigned __int64 *highproduct)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEW64(__MINGW_EXTENSION __int64 _mul128(__int64 multiplier,__int64 multiplicand,__int64 *highproduct)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEI(void __int2c(void)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIW64(void _ReadBarrier(void)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIW64(unsigned char _rotr8(unsigned char value,unsigned char shift)) + __MACHINEIW64(unsigned short _rotr16(unsigned short value,unsigned char shift)) + __MACHINEIW64(unsigned char _rotl8(unsigned char value,unsigned char shift)) + __MACHINEIW64(unsigned short _rotl16(unsigned short value,unsigned char shift)) + /* __MACHINEIW64(short _InterlockedIncrement16(short volatile *Addend)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIW64(short _InterlockedDecrement16(short volatile *Addend)) moved to psdk_inc/intrin-impl.h */ + /* __MACHINEIW64(short _InterlockedCompareExchange16(short volatile *Destination,short Exchange,short Comparand)) moved to psdk_inc/intrin-impl.h */ + __MACHINEIA64(short _InterlockedIncrement16_acq(short volatile *Addend)) + __MACHINEIA64(short _InterlockedIncrement16_rel(short volatile *Addend)) + __MACHINEIA64(short _InterlockedDecrement16_acq(short volatile *Addend)) + __MACHINEIA64(short _InterlockedDecrement16_rel(short volatile *Addend)) + __MACHINEIA64(short _InterlockedCompareExchange16_acq(short volatile *Destination,short Exchange,short Comparand)) + __MACHINEIA64(short _InterlockedCompareExchange16_rel(short volatile *Destination,short Exchange,short Comparand)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddsb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddsw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddsd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddusb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddusw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddusd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubsb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubsw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubsd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubusb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubusw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubusd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaddwd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmadduwd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmulhw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmulhuw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmullw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmullw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmacsw(unsigned __int64 m1,unsigned __int64 m2,unsigned __int64 m3)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmacuw(unsigned __int64 m1,unsigned __int64 m2,unsigned __int64 m3)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmacszw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_padduzw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paccb(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paccw(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paccd(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmia(unsigned __int64 m1,int i1,int i0)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiaph(unsigned __int64 m1,int i1,int i0)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiabb(unsigned __int64 m1,int i1,int i0)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiabt(unsigned __int64 m1,int i1,int i0)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiatb(unsigned __int64 m1,int i1,int i0)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiatt(unsigned __int64 m1,int i1,int i0)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllw(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllwi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pslld(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pslldi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllq(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllqi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psraw(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrawi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrad(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psradi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psraq(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psraqi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlw(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlwi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrld(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrldi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlq(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlqi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorw(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorwi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prord(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prordi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorq(unsigned __int64 m1,unsigned __int64 count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorqi(unsigned __int64 m1,int count)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pand(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pandn(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_por(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pxor(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpeqb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpeqw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpeqd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtub(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtuw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtud(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packsswb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packssdw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packssqd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packuswb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packusdw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packusqd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckhbw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckhwd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckhdq(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpcklbw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpcklwd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckldq(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehsbw(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehswd(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehsdq(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehubw(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehuwd(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehudq(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelsbw(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelswd(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelsdq(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelubw(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckeluwd(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckeludq(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setzero_si64()) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set_pi32(int i1,int i0)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set_pi16(short s3,short s2,short s1,short s0)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set_pi8(char b7,char b6,char b5,char b4,char b3,char b2,char b1,char b0)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set1_pi32(int i)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set1_pi16(short s)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set1_pi8(char b)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setr_pi32(int i1,int i0)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setr_pi16(short s3,short s2,short s1,short s0)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setr_pi8(char b7,char b6,char b5,char b4,char b3,char b2,char b1,char b0)) + __MACHINECC(void _mm_setwcx(int i1,int i0)) + __MACHINECC(int _mm_getwcx(int i)) + __MACHINECC(__MINGW_EXTENSION int _m_pextrb(unsigned __int64 m1,const int c)) + __MACHINECC(__MINGW_EXTENSION int _m_pextrd(unsigned __int64 m1,const int c)) + __MACHINECC(__MINGW_EXTENSION unsigned int _m_pextrub(unsigned __int64 m1,const int c)) + __MACHINECC(__MINGW_EXTENSION unsigned int _m_pextruw(unsigned __int64 m1,const int c)) + __MACHINECC(__MINGW_EXTENSION unsigned int _m_pextrud(unsigned __int64 m1,const int c)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pinsrb(unsigned __int64 m1,int i,const int c)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pinsrw(unsigned __int64 m1,int i,const int c)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pinsrd(unsigned __int64 m1,int i,const int c)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxsb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxsw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxsd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxub(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxuw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxud(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminsb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminsw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminsd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminub(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminuw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminud(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION int _m_pmovmskb(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION int _m_pmovmskw(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION int _m_pmovmskd(unsigned __int64 m1)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pshufw(unsigned __int64 m1,int i)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavgb(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavgw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavg2b(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavg2w(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadbw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadwd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadzbw(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadzwd(unsigned __int64 m1,unsigned __int64 m2)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paligniq(unsigned __int64 m1,unsigned __int64 m2,int i)) + __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_cvt_si2pi(__int64 i)) + __MACHINECC(__MINGW_EXTENSION __int64 _m_cvt_pi2si(unsigned __int64 m1)) + __MACHINEIW64(void __nvreg_save_fence(void)) + __MACHINEIW64(void __nvreg_restore_fence(void)) + + __MACHINEX64(short _InterlockedCompareExchange16_np(short volatile *Destination,short Exchange,short Comparand)) + __MACHINEX64(__LONG32 _InterlockedCompareExchange_np (__LONG32 *,__LONG32,__LONG32)) + __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64_np(__int64 *,__int64,__int64)) + __MACHINEX64(void *_InterlockedCompareExchangePointer_np (void **,void *,void *)) + __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) + __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_acq_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) + __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_rel_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) + __MACHINEX64(__LONG32 _InterlockedAnd_np(__LONG32 *,__LONG32)) + __MACHINEX64(char _InterlockedAnd8_np(char *,char)) + __MACHINEX64(short _InterlockedAnd16_np(short *,short)) + __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedAnd64_np(__int64 *,__int64)) + __MACHINEX64(__LONG32 _InterlockedOr_np(__LONG32 *,__LONG32)) + __MACHINEX64(char _InterlockedOr8_np(char *,char)) + __MACHINEX64(short _InterlockedOr16_np(short *,short)) + __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedOr64_np(__int64 *,__int64)) + __MACHINEX64(__LONG32 _InterlockedXor_np(__LONG32 *,__LONG32)) + __MACHINEX64(char _InterlockedXor8_np(char *,char)) + __MACHINEX64(short _InterlockedXor16_np(short *,short)) + __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedXor64_np(__int64 *,__int64)) + +#if defined(__ia64__) + +#define __REG_IA64_Ip 1016 + +#define __REG_IA64_IntR0 1024 +#define __REG_IA64_IntR1 1025 +#define __REG_IA64_IntR2 1026 +#define __REG_IA64_IntR3 1027 +#define __REG_IA64_IntR4 1028 +#define __REG_IA64_IntR5 1029 +#define __REG_IA64_IntR6 1030 +#define __REG_IA64_IntR7 1031 +#define __REG_IA64_IntR8 1032 +#define __REG_IA64_IntR9 1033 +#define __REG_IA64_IntR10 1034 +#define __REG_IA64_IntR11 1035 +#define __REG_IA64_IntR12 1036 +#define __REG_IA64_IntR13 1037 +#define __REG_IA64_IntR14 1038 +#define __REG_IA64_IntR15 1039 +#define __REG_IA64_IntR16 1040 +#define __REG_IA64_IntR17 1041 +#define __REG_IA64_IntR18 1042 +#define __REG_IA64_IntR19 1043 +#define __REG_IA64_IntR20 1044 +#define __REG_IA64_IntR21 1045 +#define __REG_IA64_IntR22 1046 +#define __REG_IA64_IntR23 1047 +#define __REG_IA64_IntR24 1048 +#define __REG_IA64_IntR25 1049 +#define __REG_IA64_IntR26 1050 +#define __REG_IA64_IntR27 1051 +#define __REG_IA64_IntR28 1052 +#define __REG_IA64_IntR29 1053 +#define __REG_IA64_IntR30 1054 +#define __REG_IA64_IntR31 1055 + +#define __REG_IA64_IntR32 1056 +#define __REG_IA64_IntR33 1057 +#define __REG_IA64_IntR34 1058 +#define __REG_IA64_IntR35 1059 +#define __REG_IA64_IntR36 1060 +#define __REG_IA64_IntR37 1061 +#define __REG_IA64_IntR38 1062 +#define __REG_IA64_IntR39 1063 +#define __REG_IA64_IntR40 1064 +#define __REG_IA64_IntR41 1065 +#define __REG_IA64_IntR42 1066 +#define __REG_IA64_IntR43 1067 +#define __REG_IA64_IntR44 1068 +#define __REG_IA64_IntR45 1069 +#define __REG_IA64_IntR46 1070 +#define __REG_IA64_IntR47 1071 +#define __REG_IA64_IntR48 1072 +#define __REG_IA64_IntR49 1073 +#define __REG_IA64_IntR50 1074 +#define __REG_IA64_IntR51 1075 +#define __REG_IA64_IntR52 1076 +#define __REG_IA64_IntR53 1077 +#define __REG_IA64_IntR54 1078 +#define __REG_IA64_IntR55 1079 +#define __REG_IA64_IntR56 1080 +#define __REG_IA64_IntR57 1081 +#define __REG_IA64_IntR58 1082 +#define __REG_IA64_IntR59 1083 +#define __REG_IA64_IntR60 1084 +#define __REG_IA64_IntR61 1085 +#define __REG_IA64_IntR62 1086 +#define __REG_IA64_IntR63 1087 +#define __REG_IA64_IntR64 1088 +#define __REG_IA64_IntR65 1089 +#define __REG_IA64_IntR66 1090 +#define __REG_IA64_IntR67 1091 +#define __REG_IA64_IntR68 1092 +#define __REG_IA64_IntR69 1093 +#define __REG_IA64_IntR70 1094 +#define __REG_IA64_IntR71 1095 +#define __REG_IA64_IntR72 1096 +#define __REG_IA64_IntR73 1097 +#define __REG_IA64_IntR74 1098 +#define __REG_IA64_IntR75 1099 +#define __REG_IA64_IntR76 1100 +#define __REG_IA64_IntR77 1101 +#define __REG_IA64_IntR78 1102 +#define __REG_IA64_IntR79 1103 +#define __REG_IA64_IntR80 1104 +#define __REG_IA64_IntR81 1105 +#define __REG_IA64_IntR82 1106 +#define __REG_IA64_IntR83 1107 +#define __REG_IA64_IntR84 1108 +#define __REG_IA64_IntR85 1109 +#define __REG_IA64_IntR86 1110 +#define __REG_IA64_IntR87 1111 +#define __REG_IA64_IntR88 1112 +#define __REG_IA64_IntR89 1113 +#define __REG_IA64_IntR90 1114 +#define __REG_IA64_IntR91 1115 +#define __REG_IA64_IntR92 1116 +#define __REG_IA64_IntR93 1117 +#define __REG_IA64_IntR94 1118 +#define __REG_IA64_IntR95 1119 +#define __REG_IA64_IntR96 1120 +#define __REG_IA64_IntR97 1121 +#define __REG_IA64_IntR98 1122 +#define __REG_IA64_IntR99 1123 +#define __REG_IA64_IntR100 1124 +#define __REG_IA64_IntR101 1125 +#define __REG_IA64_IntR102 1126 +#define __REG_IA64_IntR103 1127 +#define __REG_IA64_IntR104 1128 +#define __REG_IA64_IntR105 1129 +#define __REG_IA64_IntR106 1130 +#define __REG_IA64_IntR107 1131 +#define __REG_IA64_IntR108 1132 +#define __REG_IA64_IntR109 1133 +#define __REG_IA64_IntR110 1134 +#define __REG_IA64_IntR111 1135 +#define __REG_IA64_IntR112 1136 +#define __REG_IA64_IntR113 1137 +#define __REG_IA64_IntR114 1138 +#define __REG_IA64_IntR115 1139 +#define __REG_IA64_IntR116 1140 +#define __REG_IA64_IntR117 1141 +#define __REG_IA64_IntR118 1142 +#define __REG_IA64_IntR119 1143 +#define __REG_IA64_IntR120 1144 +#define __REG_IA64_IntR121 1145 +#define __REG_IA64_IntR122 1146 +#define __REG_IA64_IntR123 1147 +#define __REG_IA64_IntR124 1148 +#define __REG_IA64_IntR125 1149 +#define __REG_IA64_IntR126 1150 +#define __REG_IA64_IntR127 1151 + +#define __REG_IA64_ApKR0 3072 +#define __REG_IA64_ApKR1 3073 +#define __REG_IA64_ApKR2 3074 +#define __REG_IA64_ApKR3 3075 +#define __REG_IA64_ApKR4 3076 +#define __REG_IA64_ApKR5 3077 +#define __REG_IA64_ApKR6 3078 +#define __REG_IA64_ApKR7 3079 +#define __REG_IA64_AR8 3080 +#define __REG_IA64_AR9 3081 +#define __REG_IA64_AR10 3082 +#define __REG_IA64_AR11 3083 +#define __REG_IA64_AR12 3084 +#define __REG_IA64_AR13 3085 +#define __REG_IA64_AR14 3086 +#define __REG_IA64_AR15 3087 +#define __REG_IA64_RsRSC 3088 +#define __REG_IA64_RsBSP 3089 +#define __REG_IA64_RsBSPSTORE 3090 +#define __REG_IA64_RsRNAT 3091 +#define __REG_IA64_AR20 3092 +#define __REG_IA64_StFCR 3093 +#define __REG_IA64_AR22 3094 +#define __REG_IA64_AR23 3095 +#define __REG_IA64_EFLAG 3096 +#define __REG_IA64_CSD 3097 +#define __REG_IA64_SSD 3098 +#define __REG_IA64_CFLG 3099 +#define __REG_IA64_StFSR 3100 +#define __REG_IA64_StFIR 3101 +#define __REG_IA64_StFDR 3102 +#define __REG_IA64_AR31 3103 +#define __REG_IA64_ApCCV 3104 +#define __REG_IA64_AR33 3105 +#define __REG_IA64_AR34 3106 +#define __REG_IA64_AR35 3107 +#define __REG_IA64_ApUNAT 3108 +#define __REG_IA64_AR37 3109 +#define __REG_IA64_AR38 3110 +#define __REG_IA64_AR39 3111 +#define __REG_IA64_StFPSR 3112 +#define __REG_IA64_AR41 3113 +#define __REG_IA64_AR42 3114 +#define __REG_IA64_AR43 3115 +#define __REG_IA64_ApITC 3116 +#define __REG_IA64_AR45 3117 +#define __REG_IA64_AR46 3118 +#define __REG_IA64_AR47 3119 +#define __REG_IA64_AR48 3120 +#define __REG_IA64_AR49 3121 +#define __REG_IA64_AR50 3122 +#define __REG_IA64_AR51 3123 +#define __REG_IA64_AR52 3124 +#define __REG_IA64_AR53 3125 +#define __REG_IA64_AR54 3126 +#define __REG_IA64_AR55 3127 +#define __REG_IA64_AR56 3128 +#define __REG_IA64_AR57 3129 +#define __REG_IA64_AR58 3130 +#define __REG_IA64_AR59 3131 +#define __REG_IA64_AR60 3132 +#define __REG_IA64_AR61 3133 +#define __REG_IA64_AR62 3134 +#define __REG_IA64_AR63 3135 +#define __REG_IA64_RsPFS 3136 +#define __REG_IA64_ApLC 3137 +#define __REG_IA64_ApEC 3138 +#define __REG_IA64_AR67 3139 +#define __REG_IA64_AR68 3140 +#define __REG_IA64_AR69 3141 +#define __REG_IA64_AR70 3142 +#define __REG_IA64_AR71 3143 +#define __REG_IA64_AR72 3144 +#define __REG_IA64_AR73 3145 +#define __REG_IA64_AR74 3146 +#define __REG_IA64_AR75 3147 +#define __REG_IA64_AR76 3148 +#define __REG_IA64_AR77 3149 +#define __REG_IA64_AR78 3150 +#define __REG_IA64_AR79 3151 +#define __REG_IA64_AR80 3152 +#define __REG_IA64_AR81 3153 +#define __REG_IA64_AR82 3154 +#define __REG_IA64_AR83 3155 +#define __REG_IA64_AR84 3156 +#define __REG_IA64_AR85 3157 +#define __REG_IA64_AR86 3158 +#define __REG_IA64_AR87 3159 +#define __REG_IA64_AR88 3160 +#define __REG_IA64_AR89 3161 +#define __REG_IA64_AR90 3162 +#define __REG_IA64_AR91 3163 +#define __REG_IA64_AR92 3164 +#define __REG_IA64_AR93 3165 +#define __REG_IA64_AR94 3166 +#define __REG_IA64_AR95 3167 +#define __REG_IA64_AR96 3168 +#define __REG_IA64_AR97 3169 +#define __REG_IA64_AR98 3170 +#define __REG_IA64_AR99 3171 +#define __REG_IA64_AR100 3172 +#define __REG_IA64_AR101 3173 +#define __REG_IA64_AR102 3174 +#define __REG_IA64_AR103 3175 +#define __REG_IA64_AR104 3176 +#define __REG_IA64_AR105 3177 +#define __REG_IA64_AR106 3178 +#define __REG_IA64_AR107 3179 +#define __REG_IA64_AR108 3180 +#define __REG_IA64_AR109 3181 +#define __REG_IA64_AR110 3182 +#define __REG_IA64_AR111 3183 +#define __REG_IA64_AR112 3184 +#define __REG_IA64_AR113 3185 +#define __REG_IA64_AR114 3186 +#define __REG_IA64_AR115 3187 +#define __REG_IA64_AR116 3188 +#define __REG_IA64_AR117 3189 +#define __REG_IA64_AR118 3190 +#define __REG_IA64_AR119 3191 +#define __REG_IA64_AR120 3192 +#define __REG_IA64_AR121 3193 +#define __REG_IA64_AR122 3194 +#define __REG_IA64_AR123 3195 +#define __REG_IA64_AR124 3196 +#define __REG_IA64_AR125 3197 +#define __REG_IA64_AR126 3198 +#define __REG_IA64_AR127 3199 + +#define __REG_IA64_CPUID0 3328 +#define __REG_IA64_CPUID1 3329 +#define __REG_IA64_CPUID2 3330 +#define __REG_IA64_CPUID3 3331 +#define __REG_IA64_CPUID4 3332 + +#define __REG_IA64_ApDCR 4096 +#define __REG_IA64_ApITM 4097 +#define __REG_IA64_ApIVA 4098 +#define __REG_IA64_ApPTA 4104 +#define __REG_IA64_ApGPTA 4105 +#define __REG_IA64_StIPSR 4112 +#define __REG_IA64_StISR 4113 +#define __REG_IA64_StIIP 4115 +#define __REG_IA64_StIFA 4116 +#define __REG_IA64_StITIR 4117 +#define __REG_IA64_StIIPA 4118 +#define __REG_IA64_StIFS 4119 +#define __REG_IA64_StIIM 4120 +#define __REG_IA64_StIHA 4121 +#define __REG_IA64_SaLID 4160 +#define __REG_IA64_SaIVR 4161 +#define __REG_IA64_SaTPR 4162 +#define __REG_IA64_SaEOI 4163 +#define __REG_IA64_SaIRR0 4164 +#define __REG_IA64_SaIRR1 4165 +#define __REG_IA64_SaIRR2 4166 +#define __REG_IA64_SaIRR3 4167 +#define __REG_IA64_SaITV 4168 +#define __REG_IA64_SaPMV 4169 +#define __REG_IA64_SaCMCV 4170 +#define __REG_IA64_SaLRR0 4176 +#define __REG_IA64_SaLRR1 4177 + +#define __REG_IA64_PFD0 7168 +#define __REG_IA64_PFD1 7169 +#define __REG_IA64_PFD2 7170 +#define __REG_IA64_PFD3 7171 +#define __REG_IA64_PFD4 7172 +#define __REG_IA64_PFD5 7173 +#define __REG_IA64_PFD6 7174 +#define __REG_IA64_PFD7 7175 +#define __REG_IA64_PFD8 7176 +#define __REG_IA64_PFD9 7177 +#define __REG_IA64_PFD10 7178 +#define __REG_IA64_PFD11 7179 +#define __REG_IA64_PFD12 7180 +#define __REG_IA64_PFD13 7181 +#define __REG_IA64_PFD14 7182 +#define __REG_IA64_PFD15 7183 +#define __REG_IA64_PFD16 7184 +#define __REG_IA64_PFD17 7185 + +#define __REG_IA64_PFC0 7424 +#define __REG_IA64_PFC1 7425 +#define __REG_IA64_PFC2 7426 +#define __REG_IA64_PFC3 7427 +#define __REG_IA64_PFC4 7428 +#define __REG_IA64_PFC5 7429 +#define __REG_IA64_PFC6 7430 +#define __REG_IA64_PFC7 7431 +#define __REG_IA64_PFC8 7432 +#define __REG_IA64_PFC9 7433 +#define __REG_IA64_PFC10 7434 +#define __REG_IA64_PFC11 7435 +#define __REG_IA64_PFC12 7436 +#define __REG_IA64_PFC13 7437 +#define __REG_IA64_PFC14 7438 +#define __REG_IA64_PFC15 7439 + +#define __REG_IA64_DbI0 8448 +#define __REG_IA64_DbI1 8449 +#define __REG_IA64_DbI2 8450 +#define __REG_IA64_DbI3 8451 +#define __REG_IA64_DbI4 8452 +#define __REG_IA64_DbI5 8453 +#define __REG_IA64_DbI6 8454 +#define __REG_IA64_DbI7 8455 + +#define __REG_IA64_DbD0 8576 +#define __REG_IA64_DbD1 8577 +#define __REG_IA64_DbD2 8578 +#define __REG_IA64_DbD3 8579 +#define __REG_IA64_DbD4 8580 +#define __REG_IA64_DbD5 8581 +#define __REG_IA64_DbD6 8582 +#define __REG_IA64_DbD7 8583 +#endif + +#if defined(_NO_PREFETCHW) +#if defined(__x86_64) + +#define _InterlockedCompareExchange16 _InterlockedCompareExchange16_np +#define _InterlockedCompareExchange _InterlockedCompareExchange_np +#define _InterlockedCompareExchange64 _InterlockedCompareExchange64_np +#define _InterlockedCompareExchangePointer _InterlockedCompareExchangePointer_np +#define _InterlockedCompare64Exchange128 _InterlockedCompare64Exchange128_np +#define _InterlockedCompare64Exchange128_acq _InterlockedCompare64Exchange128_acq_np +#define _InterlockedCompare64Exchange128_rel _InterlockedCompare64Exchange128_rel_np +#define _InterlockedAnd _InterlockedAnd_np +#define _InterlockedAnd8 _InterlockedAnd8_np +#define _InterlockedAnd16 _InterlockedAnd16_np +#define _InterlockedAnd64 _InterlockedAnd64_np +#define _InterlockedOr _InterlockedOr_np +#define _InterlockedOr8 _InterlockedOr8_np +#define _InterlockedOr16 _InterlockedOr16_np +#define _InterlockedOr64 _InterlockedOr64_np +#define _InterlockedXor _InterlockedXor_np +#define _InterlockedXor8 _InterlockedXor8_np +#define _InterlockedXor16 _InterlockedXor16_np +#define _InterlockedXor64 _InterlockedXor64_np +#endif +#endif + +#if defined(__cplusplus) +} +#endif #endif + +#endif /* end __INTRIN_H_ */ diff --git a/include/poppack.h b/include/poppack.h new file mode 100644 index 0000000..163af22 --- /dev/null +++ b/include/poppack.h @@ -0,0 +1,8 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ +#if !(defined(lint) || defined(RC_INVOKED)) +#pragma pack(pop) +#endif diff --git a/include/psdk_inc/_dbg_LOAD_IMAGE.h b/include/psdk_inc/_dbg_LOAD_IMAGE.h new file mode 100644 index 0000000..7470f96 --- /dev/null +++ b/include/psdk_inc/_dbg_LOAD_IMAGE.h @@ -0,0 +1,52 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ +#pragma once + +#ifndef WINAPI +#if defined(_ARM_) +#define WINAPI +#else +#define WINAPI __stdcall +#endif +#endif + +#define IMAGEAPI DECLSPEC_IMPORT WINAPI +#define DBHLP_DEPRECIATED __declspec(deprecated) + +#define DBHLPAPI IMAGEAPI + +#define IMAGE_SEPARATION (64*1024) + + typedef struct _LOADED_IMAGE { + PSTR ModuleName; + HANDLE hFile; + PUCHAR MappedAddress; +#ifdef _IMAGEHLP64 + PIMAGE_NT_HEADERS64 FileHeader; +#else + PIMAGE_NT_HEADERS32 FileHeader; +#endif + PIMAGE_SECTION_HEADER LastRvaSection; + ULONG NumberOfSections; + PIMAGE_SECTION_HEADER Sections; + ULONG Characteristics; + BOOLEAN fSystemImage; + BOOLEAN fDOSImage; + BOOLEAN fReadOnly; + UCHAR Version; + LIST_ENTRY Links; + ULONG SizeOfImage; + } LOADED_IMAGE,*PLOADED_IMAGE; + +#define MAX_SYM_NAME 2000 + + typedef struct _MODLOAD_DATA { + DWORD ssize; + DWORD ssig; + PVOID data; + DWORD size; + DWORD flags; + } MODLOAD_DATA,*PMODLOAD_DATA; diff --git a/include/psdk_inc/_dbg_common.h b/include/psdk_inc/_dbg_common.h new file mode 100644 index 0000000..aa94da4 --- /dev/null +++ b/include/psdk_inc/_dbg_common.h @@ -0,0 +1,2185 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + + typedef WINBOOL (CALLBACK *PFIND_DEBUG_FILE_CALLBACK)(HANDLE FileHandle,PCSTR FileName,PVOID CallerData); + typedef WINBOOL (CALLBACK *PFIND_DEBUG_FILE_CALLBACKW)(HANDLE FileHandle,PCWSTR FileName,PVOID CallerData); + typedef WINBOOL (CALLBACK *PFINDFILEINPATHCALLBACK)(PCSTR filename,PVOID context); + typedef WINBOOL (CALLBACK *PFINDFILEINPATHCALLBACKW)(PCWSTR filename,PVOID context); + typedef WINBOOL (CALLBACK *PFIND_EXE_FILE_CALLBACK)(HANDLE FileHandle,PCSTR FileName,PVOID CallerData); + typedef WINBOOL (CALLBACK *PFIND_EXE_FILE_CALLBACKW)(HANDLE FileHandle,PCWSTR FileName,PVOID CallerData); + + typedef WINBOOL (WINAPI *PSYMBOLSERVERPROC)(LPCSTR,LPCSTR,PVOID,DWORD,DWORD,LPSTR); + typedef WINBOOL (WINAPI *PSYMBOLSERVEROPENPROC)(VOID); + typedef WINBOOL (WINAPI *PSYMBOLSERVERCLOSEPROC)(VOID); + typedef WINBOOL (WINAPI *PSYMBOLSERVERSETOPTIONSPROC)(UINT_PTR,ULONG64); + typedef WINBOOL (CALLBACK WINAPI *PSYMBOLSERVERCALLBACKPROC)(UINT_PTR action,ULONG64 data,ULONG64 context); + typedef UINT_PTR (WINAPI *PSYMBOLSERVERGETOPTIONSPROC)(); + typedef WINBOOL (WINAPI *PSYMBOLSERVERPINGPROC)(LPCSTR); + + HANDLE IMAGEAPI FindDebugInfoFile(PCSTR FileName,PCSTR SymbolPath,PSTR DebugFilePath); + HANDLE IMAGEAPI FindDebugInfoFileEx(PCSTR FileName,PCSTR SymbolPath,PSTR DebugFilePath,PFIND_DEBUG_FILE_CALLBACK Callback,PVOID CallerData); + HANDLE IMAGEAPI FindDebugInfoFileExW(PCWSTR FileName,PCWSTR SymbolPath,PWSTR DebugFilePath,PFIND_DEBUG_FILE_CALLBACKW Callback,PVOID CallerData); + WINBOOL IMAGEAPI SymFindFileInPath(HANDLE hprocess,PCSTR SearchPath,PCSTR FileName,PVOID id,DWORD two,DWORD three,DWORD flags,LPSTR FoundFile,PFINDFILEINPATHCALLBACK callback,PVOID context); + WINBOOL IMAGEAPI SymFindFileInPathW(HANDLE hprocess,PCWSTR SearchPath,PCWSTR FileName,PVOID id,DWORD two,DWORD three,DWORD flags,LPSTR FoundFile,PFINDFILEINPATHCALLBACKW callback,PVOID context); + HANDLE IMAGEAPI FindExecutableImage(PCSTR FileName,PCSTR SymbolPath,PSTR ImageFilePath); + HANDLE IMAGEAPI FindExecutableImageEx(PCSTR FileName,PCSTR SymbolPath,PSTR ImageFilePath,PFIND_EXE_FILE_CALLBACK Callback,PVOID CallerData); + HANDLE IMAGEAPI FindExecutableImageExW(PCWSTR FileName,PCWSTR SymbolPath,PWSTR ImageFilePath,PFIND_EXE_FILE_CALLBACKW Callback,PVOID CallerData); + PIMAGE_NT_HEADERS IMAGEAPI ImageNtHeader(PVOID Base); + PVOID IMAGEAPI ImageDirectoryEntryToDataEx(PVOID Base,BOOLEAN MappedAsImage,USHORT DirectoryEntry,PULONG Size,PIMAGE_SECTION_HEADER *FoundHeader); + PVOID IMAGEAPI ImageDirectoryEntryToData(PVOID Base,BOOLEAN MappedAsImage,USHORT DirectoryEntry,PULONG Size); + PIMAGE_SECTION_HEADER IMAGEAPI ImageRvaToSection(PIMAGE_NT_HEADERS NtHeaders,PVOID Base,ULONG Rva); + PVOID IMAGEAPI ImageRvaToVa(PIMAGE_NT_HEADERS NtHeaders,PVOID Base,ULONG Rva,PIMAGE_SECTION_HEADER *LastRvaSection); + +#define SSRVOPT_CALLBACK 0x0001 +#define SSRVOPT_DWORD 0x0002 +#define SSRVOPT_DWORDPTR 0x0004 +#define SSRVOPT_GUIDPTR 0x0008 +#define SSRVOPT_OLDGUIDPTR 0x0010 +#define SSRVOPT_UNATTENDED 0x0020 +#define SSRVOPT_NOCOPY 0x0040 +#define SSRVOPT_PARENTWIN 0x0080 +#define SSRVOPT_PARAMTYPE 0x0100 +#define SSRVOPT_SECURE 0x0200 +#define SSRVOPT_TRACE 0x0400 +#define SSRVOPT_SETCONTEXT 0x0800 +#define SSRVOPT_PROXY 0x1000 +#define SSRVOPT_DOWNSTREAM_STORE 0x2000 +#define SSRVOPT_RESET ((ULONG_PTR)-1) + +#define SSRVACTION_TRACE 1 +#define SSRVACTION_QUERYCANCEL 2 +#define SSRVACTION_EVENT 3 + +#ifndef _WIN64 + typedef struct _IMAGE_DEBUG_INFORMATION { + LIST_ENTRY List; + DWORD ReservedSize; + PVOID ReservedMappedBase; + USHORT ReservedMachine; + USHORT ReservedCharacteristics; + DWORD ReservedCheckSum; + DWORD ImageBase; + DWORD SizeOfImage; + DWORD ReservedNumberOfSections; + PIMAGE_SECTION_HEADER ReservedSections; + DWORD ReservedExportedNamesSize; + PSTR ReservedExportedNames; + DWORD ReservedNumberOfFunctionTableEntries; + PIMAGE_FUNCTION_ENTRY ReservedFunctionTableEntries; + DWORD ReservedLowestFunctionStartingAddress; + DWORD ReservedHighestFunctionEndingAddress; + DWORD ReservedNumberOfFpoTableEntries; + PFPO_DATA ReservedFpoTableEntries; + DWORD SizeOfCoffSymbols; + PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols; + DWORD ReservedSizeOfCodeViewSymbols; + PVOID ReservedCodeViewSymbols; + PSTR ImageFilePath; + PSTR ImageFileName; + PSTR ReservedDebugFilePath; + DWORD ReservedTimeDateStamp; + WINBOOL ReservedRomImage; + PIMAGE_DEBUG_DIRECTORY ReservedDebugDirectory; + DWORD ReservedNumberOfDebugDirectories; + DWORD ReservedOriginalFunctionTableBaseAddress; + DWORD Reserved[2]; + } IMAGE_DEBUG_INFORMATION,*PIMAGE_DEBUG_INFORMATION; + + PIMAGE_DEBUG_INFORMATION IMAGEAPI MapDebugInformation(HANDLE FileHandle,PSTR FileName,PSTR SymbolPath,DWORD ImageBase); + WINBOOL IMAGEAPI UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION DebugInfo); +#endif + + typedef WINBOOL (CALLBACK *PENUMDIRTREE_CALLBACK)(LPCSTR FilePath,PVOID CallerData); + + WINBOOL IMAGEAPI SearchTreeForFile(PSTR RootPath,PSTR InputPathName,PSTR OutputPathBuffer); + WINBOOL IMAGEAPI SearchTreeForFileW(PWSTR RootPath,PWSTR InputPathName,PWSTR OutputPathBuffer); + WINBOOL IMAGEAPI EnumDirTree(HANDLE hProcess,PSTR RootPath,PSTR InputPathName,PSTR OutputPathBuffer,PENUMDIRTREE_CALLBACK Callback,PVOID CallbackData); + WINBOOL IMAGEAPI MakeSureDirectoryPathExists(PCSTR DirPath); + +#define UNDNAME_COMPLETE (0x0000) +#define UNDNAME_NO_LEADING_UNDERSCORES (0x0001) +#define UNDNAME_NO_MS_KEYWORDS (0x0002) +#define UNDNAME_NO_FUNCTION_RETURNS (0x0004) +#define UNDNAME_NO_ALLOCATION_MODEL (0x0008) +#define UNDNAME_NO_ALLOCATION_LANGUAGE (0x0010) +#define UNDNAME_NO_MS_THISTYPE (0x0020) +#define UNDNAME_NO_CV_THISTYPE (0x0040) +#define UNDNAME_NO_THISTYPE (0x0060) +#define UNDNAME_NO_ACCESS_SPECIFIERS (0x0080) +#define UNDNAME_NO_THROW_SIGNATURES (0x0100) +#define UNDNAME_NO_MEMBER_TYPE (0x0200) +#define UNDNAME_NO_RETURN_UDT_MODEL (0x0400) +#define UNDNAME_32_BIT_DECODE (0x0800) +#define UNDNAME_NAME_ONLY (0x1000) +#define UNDNAME_NO_ARGUMENTS (0x2000) +#define UNDNAME_NO_SPECIAL_SYMS (0x4000) + +#define UNDNAME_NO_ARGUMENTS (0x2000) +#define UNDNAME_NO_SPECIAL_SYMS (0x4000) + + DWORD IMAGEAPI WINAPI UnDecorateSymbolName(PCSTR DecoratedName,PSTR UnDecoratedName,DWORD UndecoratedLength,DWORD Flags); + DWORD IMAGEAPI WINAPI UnDecorateSymbolNameW(PCWSTR DecoratedName,PWSTR UnDecoratedName,DWORD UndecoratedLength,DWORD Flags); + +#define DBHHEADER_DEBUGDIRS 0x1 +#define DBHHEADER_CVMISC 0x2 + + typedef struct _MODLOAD_CVMISC { + DWORD oCV; + size_t cCV; + DWORD oMisc; + size_t cMisc; + DWORD dtImage; + DWORD cImage; + } MODLOAD_CVMISC, *PMODLOAD_CVMISC; + + typedef enum { + AddrMode1616, + AddrMode1632, + AddrModeReal, + AddrModeFlat + } ADDRESS_MODE; + + typedef struct _tagADDRESS64 { + DWORD64 Offset; + WORD Segment; + ADDRESS_MODE Mode; + } ADDRESS64,*LPADDRESS64; + +#ifdef _IMAGEHLP64 +#define ADDRESS ADDRESS64 +#define LPADDRESS LPADDRESS64 +#else + typedef struct _tagADDRESS { + DWORD Offset; + WORD Segment; + ADDRESS_MODE Mode; + } ADDRESS,*LPADDRESS; + + static __inline void Address32To64(LPADDRESS a32,LPADDRESS64 a64) { + a64->Offset = (ULONG64)(LONG64)(LONG)a32->Offset; + a64->Segment = a32->Segment; + a64->Mode = a32->Mode; + } + + static __inline void Address64To32(LPADDRESS64 a64,LPADDRESS a32) { + a32->Offset = (ULONG)a64->Offset; + a32->Segment = a64->Segment; + a32->Mode = a64->Mode; + } +#endif + + typedef struct _KDHELP64 { + DWORD64 Thread; + DWORD ThCallbackStack; + DWORD ThCallbackBStore; + DWORD NextCallback; + DWORD FramePointer; + DWORD64 KiCallUserMode; + DWORD64 KeUserCallbackDispatcher; + DWORD64 SystemRangeStart; + DWORD64 KiUserExceptionDispatcher; + DWORD64 StackBase; + DWORD64 StackLimit; + DWORD BuildVersion; + DWORD RetpolineStubFunctionTableSize; + DWORD64 RetpolineStubFunctionTable; + DWORD RetpolineStubOffset; + DWORD RetpolineStubSize; + DWORD64 Reserved0[2]; + } KDHELP64,*PKDHELP64; + +#ifdef _IMAGEHLP64 +#define KDHELP KDHELP64 +#define PKDHELP PKDHELP64 +#else + typedef struct _KDHELP { + DWORD Thread; + DWORD ThCallbackStack; + DWORD NextCallback; + DWORD FramePointer; + DWORD KiCallUserMode; + DWORD KeUserCallbackDispatcher; + DWORD SystemRangeStart; + DWORD ThCallbackBStore; + DWORD KiUserExceptionDispatcher; + DWORD StackBase; + DWORD StackLimit; + DWORD Reserved[5]; + } KDHELP,*PKDHELP; + + static __inline void KdHelp32To64(PKDHELP p32,PKDHELP64 p64) { + p64->Thread = p32->Thread; + p64->ThCallbackStack = p32->ThCallbackStack; + p64->NextCallback = p32->NextCallback; + p64->FramePointer = p32->FramePointer; + p64->KiCallUserMode = p32->KiCallUserMode; + p64->KeUserCallbackDispatcher = p32->KeUserCallbackDispatcher; + p64->SystemRangeStart = p32->SystemRangeStart; + p64->KiUserExceptionDispatcher = p32->KiUserExceptionDispatcher; + p64->StackBase = p32->StackBase; + p64->StackLimit = p32->StackLimit; + } +#endif + + typedef struct _tagSTACKFRAME64 { + ADDRESS64 AddrPC; + ADDRESS64 AddrReturn; + ADDRESS64 AddrFrame; + ADDRESS64 AddrStack; + ADDRESS64 AddrBStore; + PVOID FuncTableEntry; + DWORD64 Params[4]; + WINBOOL Far; + WINBOOL Virtual; + DWORD64 Reserved[3]; + KDHELP64 KdHelp; + } STACKFRAME64,*LPSTACKFRAME64; + +#define INLINE_FRAME_CONTEXT_INIT 0 +#define INLINE_FRAME_CONTEXT_IGNORE 0xFFFFFFFF + + typedef struct _tagSTACKFRAME_EX { + ADDRESS64 AddrPC; + ADDRESS64 AddrReturn; + ADDRESS64 AddrFrame; + ADDRESS64 AddrStack; + ADDRESS64 AddrBStore; + PVOID FuncTableEntry; + DWORD64 Params[4]; + WINBOOL Far; + WINBOOL Virtual; + DWORD64 Reserved[3]; + KDHELP64 KdHelp; + DWORD StackFrameSize; + DWORD InlineFrameContext; + } STACKFRAME_EX,*LPSTACKFRAME_EX; + +#ifdef _IMAGEHLP64 +#define STACKFRAME STACKFRAME64 +#define LPSTACKFRAME LPSTACKFRAME64 +#else + typedef struct _tagSTACKFRAME { + ADDRESS AddrPC; + ADDRESS AddrReturn; + ADDRESS AddrFrame; + ADDRESS AddrStack; + PVOID FuncTableEntry; + DWORD Params[4]; + WINBOOL Far; + WINBOOL Virtual; + DWORD Reserved[3]; + KDHELP KdHelp; + ADDRESS AddrBStore; + } STACKFRAME,*LPSTACKFRAME; +#endif + + typedef WINBOOL (WINAPI *PREAD_PROCESS_MEMORY_ROUTINE64)(HANDLE hProcess,DWORD64 qwBaseAddress,PVOID lpBuffer,DWORD nSize,LPDWORD lpNumberOfBytesRead); + typedef PVOID (WINAPI *PFUNCTION_TABLE_ACCESS_ROUTINE64)(HANDLE hProcess,DWORD64 AddrBase); + typedef DWORD64 (WINAPI *PGET_MODULE_BASE_ROUTINE64)(HANDLE hProcess,DWORD64 Address); + typedef DWORD64 (WINAPI *PTRANSLATE_ADDRESS_ROUTINE64)(HANDLE hProcess,HANDLE hThread,LPADDRESS64 lpaddr); + + WINBOOL IMAGEAPI StackWalk64(DWORD MachineType,HANDLE hProcess,HANDLE hThread,LPSTACKFRAME64 StackFrame,PVOID ContextRecord,PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine,PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine,PGET_MODULE_BASE_ROUTINE64 +GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress); + +#ifdef _IMAGEHLP64 +#define PREAD_PROCESS_MEMORY_ROUTINE PREAD_PROCESS_MEMORY_ROUTINE64 +#define PFUNCTION_TABLE_ACCESS_ROUTINE PFUNCTION_TABLE_ACCESS_ROUTINE64 +#define PGET_MODULE_BASE_ROUTINE PGET_MODULE_BASE_ROUTINE64 +#define PTRANSLATE_ADDRESS_ROUTINE PTRANSLATE_ADDRESS_ROUTINE64 +#define StackWalk StackWalk64 +#else + typedef WINBOOL (WINAPI *PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE hProcess,DWORD lpBaseAddress,PVOID lpBuffer,DWORD nSize,PDWORD lpNumberOfBytesRead); + typedef PVOID (WINAPI *PFUNCTION_TABLE_ACCESS_ROUTINE)(HANDLE hProcess,DWORD AddrBase); + typedef DWORD (WINAPI *PGET_MODULE_BASE_ROUTINE)(HANDLE hProcess,DWORD Address); + typedef DWORD (WINAPI *PTRANSLATE_ADDRESS_ROUTINE)(HANDLE hProcess,HANDLE hThread,LPADDRESS lpaddr); + + WINBOOL IMAGEAPI StackWalk(DWORD MachineType,HANDLE hProcess,HANDLE hThread,LPSTACKFRAME StackFrame,PVOID ContextRecord,PREAD_PROCESS_MEMORY_ROUTINE ReadMemoryRoutine,PFUNCTION_TABLE_ACCESS_ROUTINE FunctionTableAccessRoutine,PGET_MODULE_BASE_ROUTINE +GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE TranslateAddress); +#endif + +#define API_VERSION_NUMBER 11 + + typedef struct API_VERSION { + USHORT MajorVersion; + USHORT MinorVersion; + USHORT Revision; + USHORT Reserved; + } API_VERSION,*LPAPI_VERSION; + + LPAPI_VERSION IMAGEAPI ImagehlpApiVersion(VOID); + LPAPI_VERSION IMAGEAPI ImagehlpApiVersionEx(LPAPI_VERSION AppVersion); + DWORD IMAGEAPI GetTimestampForLoadedLibrary(HMODULE Module); + + typedef WINBOOL (CALLBACK *PSYM_ENUMMODULES_CALLBACK64)(PCSTR ModuleName,DWORD64 BaseOfDll,PVOID UserContext); + typedef WINBOOL (CALLBACK *PSYM_ENUMMODULES_CALLBACKW64)(PCWSTR ModuleName,DWORD64 BaseOfDll,PVOID UserContext); + typedef WINBOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK64)(PCSTR SymbolName,DWORD64 SymbolAddress,ULONG SymbolSize,PVOID UserContext); + typedef WINBOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK64W)(PCWSTR SymbolName,DWORD64 SymbolAddress,ULONG SymbolSize,PVOID UserContext); + typedef WINBOOL (CALLBACK *PENUMLOADED_MODULES_CALLBACK64)(PCSTR ModuleName,DWORD64 ModuleBase,ULONG ModuleSize,PVOID UserContext); + typedef WINBOOL (CALLBACK *PENUMLOADED_MODULES_CALLBACKW64)(PCWSTR ModuleName,DWORD64 ModuleBase,ULONG ModuleSize,PVOID UserContext); + typedef WINBOOL (CALLBACK *PSYMBOL_REGISTERED_CALLBACK64)(HANDLE hProcess,ULONG ActionCode,ULONG64 CallbackData,ULONG64 UserContext); + typedef PVOID (CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK)(HANDLE hProcess,DWORD AddrBase,PVOID UserContext); + typedef PVOID (CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK64)(HANDLE hProcess,ULONG64 AddrBase,ULONG64 UserContext); + +#ifdef _IMAGEHLP64 +#define PSYM_ENUMMODULES_CALLBACK PSYM_ENUMMODULES_CALLBACK64 +#define PSYM_ENUMSYMBOLS_CALLBACK PSYM_ENUMSYMBOLS_CALLBACK64 +#define PSYM_ENUMSYMBOLS_CALLBACKW PSYM_ENUMSYMBOLS_CALLBACK64W +#define PENUMLOADED_MODULES_CALLBACK PENUMLOADED_MODULES_CALLBACK64 +#define PSYMBOL_REGISTERED_CALLBACK PSYMBOL_REGISTERED_CALLBACK64 +#define PSYMBOL_FUNCENTRY_CALLBACK PSYMBOL_FUNCENTRY_CALLBACK64 +#else + typedef WINBOOL (CALLBACK *PSYM_ENUMMODULES_CALLBACK)(PCSTR ModuleName,ULONG BaseOfDll,PVOID UserContext); + typedef WINBOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK)(PCSTR SymbolName,ULONG SymbolAddress,ULONG SymbolSize,PVOID UserContext); + typedef WINBOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACKW)(PCWSTR SymbolName,ULONG SymbolAddress,ULONG SymbolSize,PVOID UserContext); + typedef WINBOOL (CALLBACK *PENUMLOADED_MODULES_CALLBACK)(PCSTR ModuleName,ULONG ModuleBase,ULONG ModuleSize,PVOID UserContext); + typedef WINBOOL (CALLBACK *PSYMBOL_REGISTERED_CALLBACK)(HANDLE hProcess,ULONG ActionCode,PVOID CallbackData,PVOID UserContext); +#endif + +#define SYMFLAG_VALUEPRESENT 0x00000001 +#define SYMFLAG_REGISTER 0x00000008 +#define SYMFLAG_REGREL 0x00000010 +#define SYMFLAG_FRAMEREL 0x00000020 +#define SYMFLAG_PARAMETER 0x00000040 +#define SYMFLAG_LOCAL 0x00000080 +#define SYMFLAG_CONSTANT 0x00000100 +#define SYMFLAG_EXPORT 0x00000200 +#define SYMFLAG_FORWARDER 0x00000400 +#define SYMFLAG_FUNCTION 0x00000800 +#define SYMFLAG_VIRTUAL 0x00001000 +#define SYMFLAG_THUNK 0x00002000 +#define SYMFLAG_TLSREL 0x00004000 +#define SYMFLAG_SLOT 0x00008000 +#define SYMFLAG_ILREL 0x00010000 +#define SYMFLAG_METADATA 0x00020000 +#define SYMFLAG_CLR_TOKEN 0x00040000 +#define SYMFLAG_NULL 0x00080000 +#define SYMFLAG_FUNC_NO_RETURN 0x00100000 +#define SYMFLAG_SYNTHETIC_ZEROBASE 0x00200000 +#define SYMFLAG_PUBLIC_CODE 0x00400000 +#define SYMFLAG_REGREL_ALIASINDIR 0x00800000 +#define SYMFLAG_FIXUP_ARM64X 0x01000000 +#define SYMFLAG_GLOBAL 0x02000000 +#define SYMFLAG_RESET 0x80000000 + + typedef enum { + SymNone = 0, + SymCoff, + SymCv, + SymPdb, + SymExport, + SymDeferred, + SymSym, + SymDia, + SymVirtual, + NumSymTypes + } SYM_TYPE; + + typedef struct _IMAGEHLP_SYMBOL64 { + DWORD SizeOfStruct; + DWORD64 Address; + DWORD Size; + DWORD Flags; + DWORD MaxNameLength; + CHAR Name[1]; + } IMAGEHLP_SYMBOL64,*PIMAGEHLP_SYMBOL64; + + typedef struct _IMAGEHLP_SYMBOL64_PACKAGE { + IMAGEHLP_SYMBOL64 sym; + CHAR name[MAX_SYM_NAME + 1]; + } IMAGEHLP_SYMBOL64_PACKAGE,*PIMAGEHLP_SYMBOL64_PACKAGE; + +#ifdef _IMAGEHLP64 + +#define IMAGEHLP_SYMBOL IMAGEHLP_SYMBOL64 +#define PIMAGEHLP_SYMBOL PIMAGEHLP_SYMBOL64 +#define IMAGEHLP_SYMBOL_PACKAGE IMAGEHLP_SYMBOL64_PACKAGE +#define PIMAGEHLP_SYMBOL_PACKAGE PIMAGEHLP_SYMBOL64_PACKAGE +#else + + typedef struct _IMAGEHLP_SYMBOL { + DWORD SizeOfStruct; + DWORD Address; + DWORD Size; + DWORD Flags; + DWORD MaxNameLength; + CHAR Name[1]; + } IMAGEHLP_SYMBOL,*PIMAGEHLP_SYMBOL; + + typedef struct _IMAGEHLP_SYMBOL_PACKAGE { + IMAGEHLP_SYMBOL sym; + CHAR name[MAX_SYM_NAME + 1]; + } IMAGEHLP_SYMBOL_PACKAGE,*PIMAGEHLP_SYMBOL_PACKAGE; +#endif + + typedef struct _IMAGEHLP_MODULE64 { + DWORD SizeOfStruct; + DWORD64 BaseOfImage; + DWORD ImageSize; + DWORD TimeDateStamp; + DWORD CheckSum; + DWORD NumSyms; + SYM_TYPE SymType; + CHAR ModuleName[32]; + CHAR ImageName[256]; + CHAR LoadedImageName[256]; + CHAR LoadedPdbName[256]; + DWORD CVSig; + CHAR CVData[MAX_PATH*3]; + DWORD PdbSig; + GUID PdbSig70; + DWORD PdbAge; + WINBOOL PdbUnmatched; + WINBOOL DbgUnmatched; + WINBOOL LineNumbers; + WINBOOL GlobalSymbols; + WINBOOL TypeInfo; + WINBOOL SourceIndexed; + WINBOOL Publics; + DWORD MachineType; + DWORD Reserved; + } IMAGEHLP_MODULE64,*PIMAGEHLP_MODULE64; + + typedef struct _IMAGEHLP_MODULE64_EX { + IMAGEHLP_MODULE64 Module; + DWORD RegionFlags; + } IMAGEHLP_MODULE64_EX,*PIMAGEHLP_MODULE64_EX; + + typedef struct _IMAGEHLP_MODULE64W { + DWORD SizeOfStruct; + DWORD64 BaseOfImage; + DWORD ImageSize; + DWORD TimeDateStamp; + DWORD CheckSum; + DWORD NumSyms; + SYM_TYPE SymType; + WCHAR ModuleName[32]; + WCHAR ImageName[256]; + WCHAR LoadedImageName[256]; + WCHAR LoadedPdbName[256]; + DWORD CVSig; + WCHAR CVData[MAX_PATH*3]; + DWORD PdbSig; + GUID PdbSig70; + DWORD PdbAge; + WINBOOL PdbUnmatched; + WINBOOL DbgUnmatched; + WINBOOL LineNumbers; + WINBOOL GlobalSymbols; + WINBOOL TypeInfo; + WINBOOL SourceIndexed; + WINBOOL Publics; + DWORD MachineType; + DWORD Reserved; + } IMAGEHLP_MODULEW64,*PIMAGEHLP_MODULEW64; + + typedef struct _IMAGEHLP_MODULEW64_EX { + IMAGEHLP_MODULEW64 Module; + DWORD RegionFlags; + } IMAGEHLP_MODULEW64_EX,*PIMAGEHLP_MODULEW64_EX; + +#ifdef _IMAGEHLP64 +#define IMAGEHLP_MODULE IMAGEHLP_MODULE64 +#define PIMAGEHLP_MODULE PIMAGEHLP_MODULE64 +#define IMAGEHLP_MODULEW IMAGEHLP_MODULEW64 +#define PIMAGEHLP_MODULEW PIMAGEHLP_MODULEW64 +#else + typedef struct _IMAGEHLP_MODULE { + DWORD SizeOfStruct; + DWORD BaseOfImage; + DWORD ImageSize; + DWORD TimeDateStamp; + DWORD CheckSum; + DWORD NumSyms; + SYM_TYPE SymType; + CHAR ModuleName[32]; + CHAR ImageName[256]; + CHAR LoadedImageName[256]; + } IMAGEHLP_MODULE,*PIMAGEHLP_MODULE; + + typedef struct _IMAGEHLP_MODULEW { + DWORD SizeOfStruct; + DWORD BaseOfImage; + DWORD ImageSize; + DWORD TimeDateStamp; + DWORD CheckSum; + DWORD NumSyms; + SYM_TYPE SymType; + WCHAR ModuleName[32]; + WCHAR ImageName[256]; + WCHAR LoadedImageName[256]; + } IMAGEHLP_MODULEW,*PIMAGEHLP_MODULEW; +#endif + + typedef struct _IMAGEHLP_LINE64 { + DWORD SizeOfStruct; + PVOID Key; + DWORD LineNumber; + PCHAR FileName; + DWORD64 Address; + } IMAGEHLP_LINE64,*PIMAGEHLP_LINE64; + + typedef struct _IMAGEHLP_LINEW64 { + DWORD SizeOfStruct; + PVOID Key; + DWORD LineNumber; + PWSTR FileName; + DWORD64 Address; + } IMAGEHLP_LINEW64, *PIMAGEHLP_LINEW64; + +#ifdef _IMAGEHLP64 +#define IMAGEHLP_LINE IMAGEHLP_LINE64 +#define PIMAGEHLP_LINE PIMAGEHLP_LINE64 +#else + typedef struct _IMAGEHLP_LINE { + DWORD SizeOfStruct; + PVOID Key; + DWORD LineNumber; + PCHAR FileName; + DWORD Address; + } IMAGEHLP_LINE,*PIMAGEHLP_LINE; + + typedef struct _IMAGEHLP_LINEW { + DWORD SizeOfStruct; + PVOID Key; + DWORD LineNumber; + PWSTR FileName; + DWORD Address; + } IMAGEHLP_LINEW,*PIMAGEHLP_LINEW; +#endif + + typedef struct _SOURCEFILE { + DWORD64 ModBase; + PCHAR FileName; + } SOURCEFILE,*PSOURCEFILE; + + typedef struct _SOURCEFILEW { + DWORD64 ModBase; + PWCHAR FileName; + } SOURCEFILEW,*PSOURCEFILEW; + +#define CBA_DEFERRED_SYMBOL_LOAD_START 0x00000001 +#define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 0x00000002 +#define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 0x00000003 +#define CBA_SYMBOLS_UNLOADED 0x00000004 +#define CBA_DUPLICATE_SYMBOL 0x00000005 +#define CBA_READ_MEMORY 0x00000006 +#define CBA_DEFERRED_SYMBOL_LOAD_CANCEL 0x00000007 +#define CBA_SET_OPTIONS 0x00000008 +#define CBA_EVENT 0x00000010 +#define CBA_DEFERRED_SYMBOL_LOAD_PARTIAL 0x00000020 +#define CBA_DEBUG_INFO 0x10000000 +#define CBA_SRCSRV_INFO 0x20000000 +#define CBA_SRCSRV_EVENT 0x40000000 + + typedef struct _IMAGEHLP_CBA_READ_MEMORY { + DWORD64 addr; + PVOID buf; + DWORD bytes; + DWORD *bytesread; + } IMAGEHLP_CBA_READ_MEMORY,*PIMAGEHLP_CBA_READ_MEMORY; + + enum { + sevInfo = 0, + sevProblem, + sevAttn, + sevFatal, + sevMax + }; + + typedef struct _IMAGEHLP_CBA_EVENT { + DWORD severity; + DWORD code; + PCHAR desc; + PVOID object; + } IMAGEHLP_CBA_EVENT,*PIMAGEHLP_CBA_EVENT; + + typedef struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD64 { + DWORD SizeOfStruct; + DWORD64 BaseOfImage; + DWORD CheckSum; + DWORD TimeDateStamp; + CHAR FileName[MAX_PATH]; + BOOLEAN Reparse; + HANDLE hFile; + DWORD Flags; + } IMAGEHLP_DEFERRED_SYMBOL_LOAD64,*PIMAGEHLP_DEFERRED_SYMBOL_LOAD64; + + typedef struct _IMAGEHLP_DEFERRED_SYMBOL_LOADW64 { + DWORD SizeOfStruct; + DWORD64 BaseOfImage; + DWORD CheckSum; + DWORD TimeDateStamp; + WCHAR FileName[MAX_PATH + 1]; + BOOLEAN Reparse; + HANDLE hFile; + DWORD Flags; + } IMAGEHLP_DEFERRED_SYMBOL_LOADW64,*PIMAGEHLP_DEFERRED_SYMBOL_LOADW64; + +#define DSLFLAG_MISMATCHED_PDB 0x1 +#define DSLFLAG_MISMATCHED_DBG 0x2 + +#ifdef _IMAGEHLP64 +#define IMAGEHLP_DEFERRED_SYMBOL_LOAD IMAGEHLP_DEFERRED_SYMBOL_LOAD64 +#define PIMAGEHLP_DEFERRED_SYMBOL_LOAD PIMAGEHLP_DEFERRED_SYMBOL_LOAD64 +#else + typedef struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD { + DWORD SizeOfStruct; + DWORD BaseOfImage; + DWORD CheckSum; + DWORD TimeDateStamp; + CHAR FileName[MAX_PATH]; + BOOLEAN Reparse; + HANDLE hFile; + } IMAGEHLP_DEFERRED_SYMBOL_LOAD,*PIMAGEHLP_DEFERRED_SYMBOL_LOAD; +#endif + + typedef struct _IMAGEHLP_DUPLICATE_SYMBOL64 { + DWORD SizeOfStruct; + DWORD NumberOfDups; + PIMAGEHLP_SYMBOL64 Symbol; + DWORD SelectedSymbol; + } IMAGEHLP_DUPLICATE_SYMBOL64,*PIMAGEHLP_DUPLICATE_SYMBOL64; + +#ifdef _IMAGEHLP64 +#define IMAGEHLP_DUPLICATE_SYMBOL IMAGEHLP_DUPLICATE_SYMBOL64 +#define PIMAGEHLP_DUPLICATE_SYMBOL PIMAGEHLP_DUPLICATE_SYMBOL64 +#else + typedef struct _IMAGEHLP_DUPLICATE_SYMBOL { + DWORD SizeOfStruct; + DWORD NumberOfDups; + PIMAGEHLP_SYMBOL Symbol; + DWORD SelectedSymbol; + } IMAGEHLP_DUPLICATE_SYMBOL,*PIMAGEHLP_DUPLICATE_SYMBOL; +#endif + +typedef struct _SYMSRV_INDEX_INFO { + DWORD sizeofstruct; + CHAR file[MAX_PATH +1]; + WINBOOL stripped; + DWORD timestamp; + DWORD size; + CHAR dbgfile[MAX_PATH +1]; + CHAR pdbfile[MAX_PATH + 1]; + GUID guid; + DWORD sig; + DWORD age; +} SYMSRV_INDEX_INFO, *PSYMSRV_INDEX_INFO; + +typedef struct _SYMSRV_INDEX_INFOW { + DWORD sizeofstruct; + WCHAR file[MAX_PATH +1]; + WINBOOL stripped; + DWORD timestamp; + DWORD size; + WCHAR dbgfile[MAX_PATH +1]; + WCHAR pdbfile[MAX_PATH + 1]; + GUID guid; + DWORD sig; + DWORD age; +} SYMSRV_INDEX_INFOW, *PSYMSRV_INDEX_INFOW; + + WINBOOL IMAGEAPI SymSetParentWindow(HWND hwnd); + PCHAR IMAGEAPI SymSetHomeDirectory(HANDLE hProcess,PCSTR dir); + PCHAR IMAGEAPI SymSetHomeDirectoryW(HANDLE hProcess,PCWSTR dir); + PCHAR IMAGEAPI SymGetHomeDirectory(DWORD type,PSTR dir,size_t size); + PWCHAR IMAGEAPI SymGetHomeDirectoryW(DWORD type,PWSTR dir,size_t size); + +#define hdBase 0 +#define hdSym 1 +#define hdSrc 2 +#define hdMax 3 + +#define SYMOPT_CASE_INSENSITIVE 0x00000001 +#define SYMOPT_UNDNAME 0x00000002 +#define SYMOPT_DEFERRED_LOADS 0x00000004 +#define SYMOPT_NO_CPP 0x00000008 +#define SYMOPT_LOAD_LINES 0x00000010 +#define SYMOPT_OMAP_FIND_NEAREST 0x00000020 +#define SYMOPT_LOAD_ANYTHING 0x00000040 +#define SYMOPT_IGNORE_CVREC 0x00000080 +#define SYMOPT_NO_UNQUALIFIED_LOADS 0x00000100 +#define SYMOPT_FAIL_CRITICAL_ERRORS 0x00000200 +#define SYMOPT_EXACT_SYMBOLS 0x00000400 +#define SYMOPT_ALLOW_ABSOLUTE_SYMBOLS 0x00000800 +#define SYMOPT_IGNORE_NT_SYMPATH 0x00001000 +#define SYMOPT_INCLUDE_32BIT_MODULES 0x00002000 +#define SYMOPT_PUBLICS_ONLY 0x00004000 +#define SYMOPT_NO_PUBLICS 0x00008000 +#define SYMOPT_AUTO_PUBLICS 0x00010000 +#define SYMOPT_NO_IMAGE_SEARCH 0x00020000 +#define SYMOPT_SECURE 0x00040000 +#define SYMOPT_NO_PROMPTS 0x00080000 +#define SYMOPT_ALLOW_ZERO_ADDRESS 0x01000000 +#define SYMOPT_DISABLE_SYMSRV_AUTODETECT 0x02000000 +#define SYMOPT_FAVOR_COMPRESSED 0x00800000 +#define SYMOPT_FLAT_DIRECTORY 0x00400000 +#define SYMOPT_IGNORE_IMAGEDIR 0x00200000 +#define SYMOPT_OVERWRITE 0x00100000 + +#define SYMOPT_DEBUG 0x80000000 + + DWORD IMAGEAPI SymSetOptions(DWORD SymOptions); + DWORD IMAGEAPI SymGetOptions(VOID); + WINBOOL IMAGEAPI SymCleanup(HANDLE hProcess); + WINBOOL IMAGEAPI SymMatchString(PCSTR string,PCSTR expression,WINBOOL fCase); + WINBOOL IMAGEAPI SymMatchStringW(PCWSTR string,PCWSTR expression,WINBOOL fCase); + + typedef WINBOOL (CALLBACK *PSYM_ENUMSOURCEFILES_CALLBACK)(PSOURCEFILE pSourceFile,PVOID UserContext); + typedef WINBOOL (CALLBACK *PSYM_ENUMSOURCEFILES_CALLBACKW)(PSOURCEFILEW pSourceFile,PVOID UserContext); +#define PSYM_ENUMSOURCFILES_CALLBACK PSYM_ENUMSOURCEFILES_CALLBACK + + WINBOOL IMAGEAPI SymEnumSourceFiles(HANDLE hProcess,ULONG64 ModBase,PCSTR Mask,PSYM_ENUMSOURCEFILES_CALLBACK cbSrcFiles,PVOID UserContext); + WINBOOL IMAGEAPI SymEnumSourceFilesW(HANDLE hProcess,ULONG64 ModBase,PCWSTR Mask,PSYM_ENUMSOURCEFILES_CALLBACKW cbSrcFiles,PVOID UserContext); + WINBOOL IMAGEAPI SymEnumerateModules64(HANDLE hProcess,PSYM_ENUMMODULES_CALLBACK64 EnumModulesCallback,PVOID UserContext); + WINBOOL IMAGEAPI SymEnumerateModulesW64(HANDLE hProcess,PSYM_ENUMMODULES_CALLBACKW64 EnumModulesCallback,PVOID UserContext); + +#ifdef _IMAGEHLP64 +#define SymEnumerateModules SymEnumerateModules64 +#else + WINBOOL IMAGEAPI SymEnumerateModules(HANDLE hProcess,PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,PVOID UserContext); +#endif + + WINBOOL IMAGEAPI SymEnumerateSymbols64(HANDLE hProcess,DWORD64 BaseOfDll,PSYM_ENUMSYMBOLS_CALLBACK64 EnumSymbolsCallback,PVOID UserContext); + WINBOOL IMAGEAPI SymEnumerateSymbolsW64(HANDLE hProcess,DWORD64 BaseOfDll,PSYM_ENUMSYMBOLS_CALLBACK64W EnumSymbolsCallback,PVOID UserContext); + +#ifdef _IMAGEHLP64 +#define SymEnumerateSymbols SymEnumerateSymbols64 +#define SymEnumerateSymbolsW SymEnumerateSymbolsW64 +#else + WINBOOL IMAGEAPI SymEnumerateSymbols(HANDLE hProcess,DWORD BaseOfDll,PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback,PVOID UserContext); + WINBOOL IMAGEAPI SymEnumerateSymbolsW(HANDLE hProcess,DWORD BaseOfDll,PSYM_ENUMSYMBOLS_CALLBACKW EnumSymbolsCallback,PVOID UserContext); +#endif + + WINBOOL IMAGEAPI EnumerateLoadedModules64(HANDLE hProcess,PENUMLOADED_MODULES_CALLBACK64 EnumLoadedModulesCallback,PVOID UserContext); + WINBOOL IMAGEAPI EnumerateLoadedModulesW64(HANDLE hProcess,PENUMLOADED_MODULES_CALLBACKW64 EnumLoadedModulesCallback,PVOID UserContext); + +#ifdef _IMAGEHLP64 +#define EnumerateLoadedModules EnumerateLoadedModules64 +#else + WINBOOL IMAGEAPI EnumerateLoadedModules(HANDLE hProcess,PENUMLOADED_MODULES_CALLBACK EnumLoadedModulesCallback,PVOID UserContext); +#endif + + PVOID IMAGEAPI SymFunctionTableAccess64(HANDLE hProcess,DWORD64 AddrBase); + +#ifdef _IMAGEHLP64 +#define SymFunctionTableAccess SymFunctionTableAccess64 +#else + PVOID IMAGEAPI SymFunctionTableAccess(HANDLE hProcess,DWORD AddrBase); +#endif + + WINBOOL IMAGEAPI SymGetModuleInfo64(HANDLE hProcess,DWORD64 qwAddr,PIMAGEHLP_MODULE64 ModuleInfo); + WINBOOL IMAGEAPI SymGetModuleInfoW64(HANDLE hProcess,DWORD64 qwAddr,PIMAGEHLP_MODULEW64 ModuleInfo); + +#ifdef _IMAGEHLP64 +#define SymGetModuleInfo SymGetModuleInfo64 +#define SymGetModuleInfoW SymGetModuleInfoW64 +#else + WINBOOL IMAGEAPI SymGetModuleInfo(HANDLE hProcess,DWORD dwAddr,PIMAGEHLP_MODULE ModuleInfo); + WINBOOL IMAGEAPI SymGetModuleInfoW(HANDLE hProcess,DWORD dwAddr,PIMAGEHLP_MODULEW ModuleInfo); +#endif + + DWORD64 IMAGEAPI SymGetModuleBase64(HANDLE hProcess,DWORD64 qwAddr); + +#ifdef _IMAGEHLP64 +#define SymGetModuleBase SymGetModuleBase64 +#else + DWORD IMAGEAPI SymGetModuleBase(HANDLE hProcess,DWORD dwAddr); +#endif + + WINBOOL IMAGEAPI SymGetSymNext64(HANDLE hProcess,PIMAGEHLP_SYMBOL64 Symbol); + +#ifdef _IMAGEHLP64 +#define SymGetSymNext SymGetSymNext64 +#else + WINBOOL IMAGEAPI SymGetSymNext(HANDLE hProcess,PIMAGEHLP_SYMBOL Symbol); +#endif + + WINBOOL IMAGEAPI SymGetSymPrev64(HANDLE hProcess,PIMAGEHLP_SYMBOL64 Symbol); + +#ifdef _IMAGEHLP64 +#define SymGetSymPrev SymGetSymPrev64 +#else + WINBOOL IMAGEAPI SymGetSymPrev(HANDLE hProcess,PIMAGEHLP_SYMBOL Symbol); +#endif + + typedef struct _SRCCODEINFO { + DWORD SizeOfStruct; + PVOID Key; + DWORD64 ModBase; + CHAR Obj[MAX_PATH + 1]; + CHAR FileName[MAX_PATH + 1]; + DWORD LineNumber; + DWORD64 Address; + } SRCCODEINFO,*PSRCCODEINFO; + + typedef struct _SRCCODEINFOW { + DWORD SizeOfStruct; + PVOID Key; + DWORD64 ModBase; + WCHAR Obj[MAX_PATH + 1]; + WCHAR FileName[MAX_PATH + 1]; + DWORD LineNumber; + DWORD64 Address; + } SRCCODEINFOW,*PSRCCODEINFOW; + + typedef WINBOOL (CALLBACK *PSYM_ENUMLINES_CALLBACK)(PSRCCODEINFO LineInfo,PVOID UserContext); + typedef WINBOOL (CALLBACK *PSYM_ENUMLINES_CALLBACKW)(PSRCCODEINFOW LineInfo,PVOID UserContext); + + WINBOOL IMAGEAPI SymEnumLines(HANDLE hProcess,ULONG64 Base,PCSTR Obj,PCSTR File,PSYM_ENUMLINES_CALLBACK EnumLinesCallback,PVOID UserContext); + WINBOOL IMAGEAPI SymEnumLinesW(HANDLE hProcess,ULONG64 Base,PCWSTR Obj,PCSTR File,PSYM_ENUMLINES_CALLBACKW EnumLinesCallback,PVOID UserContext); + WINBOOL IMAGEAPI SymGetLineFromAddr64(HANDLE hProcess,DWORD64 qwAddr,PDWORD pdwDisplacement,PIMAGEHLP_LINE64 Line64); + WINBOOL IMAGEAPI SymGetLineFromAddrW64(HANDLE hProcess,DWORD64 qwAddr,PDWORD pdwDisplacement,PIMAGEHLP_LINEW64 Line64); + +#ifdef _IMAGEHLP64 +#define SymGetLineFromAddr SymGetLineFromAddr64 +#define SymGetLineFromAddrW SymGetLineFromAddrW64 +#else + WINBOOL IMAGEAPI SymGetLineFromAddr(HANDLE hProcess,DWORD dwAddr,PDWORD pdwDisplacement,PIMAGEHLP_LINE Line); + WINBOOL IMAGEAPI SymGetLineFromAddrW(HANDLE hProcess,DWORD dwAddr,PDWORD pdwDisplacement,PIMAGEHLP_LINEW Line); +#endif + + WINBOOL IMAGEAPI SymGetLineFromName64(HANDLE hProcess,PCSTR ModuleName,PCSTR FileName,DWORD dwLineNumber,PLONG plDisplacement,PIMAGEHLP_LINE64 Line); + WINBOOL IMAGEAPI SymGetLineFromNameW64(HANDLE hProcess,PCWSTR ModuleName,PCWSTR FileName,DWORD dwLineNumber,PLONG plDisplacement,PIMAGEHLP_LINEW64 Line); + +#ifdef _IMAGEHLP64 +#define SymGetLineFromName SymGetLineFromName64 +#else + WINBOOL IMAGEAPI SymGetLineFromName(HANDLE hProcess,PCSTR ModuleName,PCSTR FileName,DWORD dwLineNumber,PLONG plDisplacement,PIMAGEHLP_LINE Line); +#endif + + WINBOOL IMAGEAPI SymGetLineNext64(HANDLE hProcess,PIMAGEHLP_LINE64 Line); + WINBOOL IMAGEAPI SymGetLineNextW64(HANDLE hProcess,PIMAGEHLP_LINEW64 Line); + +#ifdef _IMAGEHLP64 +#define SymGetLineNext SymGetLineNext64 +#else + WINBOOL IMAGEAPI SymGetLineNext(HANDLE hProcess,PIMAGEHLP_LINE Line); +#endif + + WINBOOL IMAGEAPI SymGetLinePrev64(HANDLE hProcess,PIMAGEHLP_LINE64 Line); + WINBOOL IMAGEAPI SymGetLinePrevW64(HANDLE hProcess,PIMAGEHLP_LINEW64 Line); + +#ifdef _IMAGEHLP64 +#define SymGetLinePrev SymGetLinePrev64 +#else + WINBOOL IMAGEAPI SymGetLinePrev(HANDLE hProcess,PIMAGEHLP_LINE Line); +#endif + + WINBOOL IMAGEAPI SymMatchFileName(PCSTR FileName,PCSTR Match,PSTR *FileNameStop,PSTR *MatchStop); + WINBOOL IMAGEAPI SymMatchFileNameW(PCWSTR FileName,PCWSTR Match,PWSTR *FileNameStop,PWSTR *MatchStop); + WINBOOL IMAGEAPI SymInitialize(HANDLE hProcess,PCSTR UserSearchPath,WINBOOL fInvadeProcess); + WINBOOL IMAGEAPI SymInitializeW(HANDLE hProcess,PCWSTR UserSearchPath,WINBOOL fInvadeProcess); + WINBOOL IMAGEAPI SymGetSearchPath(HANDLE hProcess,PSTR SearchPath,DWORD SearchPathLength); + WINBOOL IMAGEAPI SymGetSearchPathW(HANDLE hProcess,PWSTR SearchPath,DWORD SearchPathLength); + WINBOOL IMAGEAPI SymSetSearchPath(HANDLE hProcess,PCSTR SearchPath); + WINBOOL IMAGEAPI SymSetSearchPathW(HANDLE hProcess,PCWSTR SearchPath); + DWORD64 IMAGEAPI SymLoadModule64(HANDLE hProcess,HANDLE hFile,PCSTR ImageName,PCSTR ModuleName,DWORD64 BaseOfDll,DWORD SizeOfDll); + +#define SLMFLAG_VIRTUAL 0x1 + + DWORD64 IMAGEAPI SymLoadModuleEx(HANDLE hProcess,HANDLE hFile,PCSTR ImageName,PCSTR ModuleName,DWORD64 BaseOfDll,DWORD DllSize,PMODLOAD_DATA Data,DWORD Flags); + DWORD64 IMAGEAPI SymLoadModuleExW(HANDLE hProcess,HANDLE hFile,PCWSTR ImageName,PCWSTR ModuleName,DWORD64 BaseOfDll,DWORD DllSize,PMODLOAD_DATA Data,DWORD Flags); + +#ifdef _IMAGEHLP64 +#define SymLoadModule SymLoadModule64 +#else + DWORD IMAGEAPI SymLoadModule(HANDLE hProcess,HANDLE hFile,PCSTR ImageName,PCSTR ModuleName,DWORD BaseOfDll,DWORD SizeOfDll); +#endif + + WINBOOL IMAGEAPI SymUnloadModule64(HANDLE hProcess,DWORD64 BaseOfDll); + +#ifdef _IMAGEHLP64 +#define SymUnloadModule SymUnloadModule64 +#else + WINBOOL IMAGEAPI SymUnloadModule(HANDLE hProcess,DWORD BaseOfDll); +#endif + + WINBOOL IMAGEAPI SymUnDName64(PIMAGEHLP_SYMBOL64 sym,PSTR UnDecName,DWORD UnDecNameLength); + +#ifdef _IMAGEHLP64 +#define SymUnDName SymUnDName64 +#else + WINBOOL IMAGEAPI SymUnDName(PIMAGEHLP_SYMBOL sym,PSTR UnDecName,DWORD UnDecNameLength); +#endif + + WINBOOL IMAGEAPI SymRegisterCallback64(HANDLE hProcess,PSYMBOL_REGISTERED_CALLBACK64 CallbackFunction,ULONG64 UserContext); + WINBOOL IMAGEAPI SymRegisterCallbackW64(HANDLE hProcess,PSYMBOL_REGISTERED_CALLBACK64 CallbackFunction,ULONG64 UserContext); + + WINBOOL IMAGEAPI SymRegisterFunctionEntryCallback64(HANDLE hProcess,PSYMBOL_FUNCENTRY_CALLBACK64 CallbackFunction,ULONG64 UserContext); + +#ifdef _IMAGEHLP64 +#define SymRegisterCallback SymRegisterCallback64 +#define SymRegisterFunctionEntryCallback SymRegisterFunctionEntryCallback64 +#else + WINBOOL IMAGEAPI SymRegisterCallback(HANDLE hProcess,PSYMBOL_REGISTERED_CALLBACK CallbackFunction,PVOID UserContext); + WINBOOL IMAGEAPI SymRegisterFunctionEntryCallback(HANDLE hProcess,PSYMBOL_FUNCENTRY_CALLBACK CallbackFunction,PVOID UserContext); +#endif + + typedef struct _IMAGEHLP_SYMBOL_SRC { + DWORD sizeofstruct; + DWORD type; + char file[MAX_PATH]; + } IMAGEHLP_SYMBOL_SRC,*PIMAGEHLP_SYMBOL_SRC; + + typedef struct _MODULE_TYPE_INFO { + USHORT dataLength; + USHORT leaf; + BYTE data[1]; + } MODULE_TYPE_INFO,*PMODULE_TYPE_INFO; + + typedef struct _SYMBOL_INFO { + ULONG SizeOfStruct; + ULONG TypeIndex; + ULONG64 Reserved[2]; + ULONG info; + ULONG Size; + ULONG64 ModBase; + ULONG Flags; + ULONG64 Value; + ULONG64 Address; + ULONG Register; + ULONG Scope; + ULONG Tag; + ULONG NameLen; + ULONG MaxNameLen; + CHAR Name[1]; + } SYMBOL_INFO,*PSYMBOL_INFO; + + typedef struct _SYMBOL_INFOW { + ULONG SizeOfStruct; + ULONG TypeIndex; + ULONG64 Reserved[2]; + ULONG info; + ULONG Size; + ULONG64 ModBase; + ULONG Flags; + ULONG64 Value; + ULONG64 Address; + ULONG Register; + ULONG Scope; + ULONG Tag; + ULONG NameLen; + ULONG MaxNameLen; + WCHAR Name[1]; + } SYMBOL_INFOW,*PSYMBOL_INFOW; + +#define SYMFLAG_CLR_TOKEN 0x00040000 +#define SYMFLAG_CONSTANT 0x00000100 +#define SYMFLAG_EXPORT 0x00000200 +#define SYMFLAG_FORWARDER 0x00000400 +#define SYMFLAG_FRAMEREL 0x00000020 +#define SYMFLAG_FUNCTION 0x00000800 +#define SYMFLAG_ILREL 0x00010000 +#define SYMFLAG_LOCAL 0x00000080 +#define SYMFLAG_METADATA 0x00020000 +#define SYMFLAG_PARAMETER 0x00000040 +#define SYMFLAG_REGISTER 0x00000008 +#define SYMFLAG_REGREL 0x00000010 +#define SYMFLAG_SLOT 0x00008000 +#define SYMFLAG_THUNK 0x00002000 +#define SYMFLAG_TLSREL 0x00004000 +#define SYMFLAG_VALUEPRESENT 0x00000001 +#define SYMFLAG_VIRTUAL 0x00001000 + + typedef struct _SYMBOL_INFO_PACKAGE { + SYMBOL_INFO si; + CHAR name[MAX_SYM_NAME + 1]; + } SYMBOL_INFO_PACKAGE,*PSYMBOL_INFO_PACKAGE; + + typedef struct _IMAGEHLP_STACK_FRAME { + ULONG64 InstructionOffset; + ULONG64 ReturnOffset; + ULONG64 FrameOffset; + ULONG64 StackOffset; + ULONG64 BackingStoreOffset; + ULONG64 FuncTableEntry; + ULONG64 Params[4]; + ULONG64 Reserved[5]; + WINBOOL Virtual; + ULONG Reserved2; + } IMAGEHLP_STACK_FRAME,*PIMAGEHLP_STACK_FRAME; + + typedef VOID IMAGEHLP_CONTEXT,*PIMAGEHLP_CONTEXT; + + WINBOOL IMAGEAPI SymSetContext(HANDLE hProcess,PIMAGEHLP_STACK_FRAME StackFrame,PIMAGEHLP_CONTEXT Context); + WINBOOL IMAGEAPI SymFromAddr(HANDLE hProcess,DWORD64 Address,PDWORD64 Displacement,PSYMBOL_INFO Symbol); + WINBOOL IMAGEAPI SymFromAddrW(HANDLE hProcess,DWORD64 Address,PDWORD64 Displacement,PSYMBOL_INFOW Symbol); + WINBOOL IMAGEAPI SymFromToken(HANDLE hProcess,DWORD64 Base,DWORD Token,PSYMBOL_INFO Symbol); + WINBOOL IMAGEAPI SymFromTokenW(HANDLE hProcess,DWORD64 Base,DWORD Token,PSYMBOL_INFOW Symbol); + WINBOOL IMAGEAPI SymFromName(HANDLE hProcess,PCSTR Name,PSYMBOL_INFO Symbol); + WINBOOL IMAGEAPI SymFromNameW(HANDLE hProcess,PCWSTR Name,PSYMBOL_INFOW Symbol); + + typedef WINBOOL (CALLBACK *PSYM_ENUMERATESYMBOLS_CALLBACK)(PSYMBOL_INFO pSymInfo,ULONG SymbolSize,PVOID UserContext); + typedef WINBOOL (CALLBACK *PSYM_ENUMERATESYMBOLS_CALLBACKW)(PSYMBOL_INFOW pSymInfo,ULONG SymbolSize,PVOID UserContext); + + WINBOOL IMAGEAPI SymEnumSymbols(HANDLE hProcess,ULONG64 BaseOfDll,PCSTR Mask,PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,PVOID UserContext); + WINBOOL IMAGEAPI SymEnumSymbolsW(HANDLE hProcess,ULONG64 BaseOfDll,PCWSTR Mask,PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,PVOID UserContext); + WINBOOL IMAGEAPI SymEnumSymbolsForAddr(HANDLE hProcess,DWORD64 Address,PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,PVOID UserContext); + WINBOOL IMAGEAPI SymEnumSymbolsForAddrW(HANDLE hProcess,DWORD64 Address,PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,PVOID UserContext); + +#define SYMENUMFLAG_FULLSRCH 1 +#define SYMENUMFLAG_SPEEDSRCH 2 + + typedef enum _IMAGEHLP_SYMBOL_TYPE_INFO { + TI_GET_SYMTAG, + TI_GET_SYMNAME, + TI_GET_LENGTH, + TI_GET_TYPE, + TI_GET_TYPEID, + TI_GET_BASETYPE, + TI_GET_ARRAYINDEXTYPEID, + TI_FINDCHILDREN, + TI_GET_DATAKIND, + TI_GET_ADDRESSOFFSET, + TI_GET_OFFSET, + TI_GET_VALUE, + TI_GET_COUNT, + TI_GET_CHILDRENCOUNT, + TI_GET_BITPOSITION, + TI_GET_VIRTUALBASECLASS, + TI_GET_VIRTUALTABLESHAPEID, + TI_GET_VIRTUALBASEPOINTEROFFSET, + TI_GET_CLASSPARENTID, + TI_GET_NESTED, + TI_GET_SYMINDEX, + TI_GET_LEXICALPARENT, + TI_GET_ADDRESS, + TI_GET_THISADJUST, + TI_GET_UDTKIND, + TI_IS_EQUIV_TO, + TI_GET_CALLING_CONVENTION + } IMAGEHLP_SYMBOL_TYPE_INFO; + + typedef struct _TI_FINDCHILDREN_PARAMS { + ULONG Count; + ULONG Start; + ULONG ChildId[1]; + } TI_FINDCHILDREN_PARAMS; + + WINBOOL IMAGEAPI SymGetTypeInfo(HANDLE hProcess,DWORD64 ModBase,ULONG TypeId,IMAGEHLP_SYMBOL_TYPE_INFO GetType,PVOID pInfo); + WINBOOL IMAGEAPI SymEnumTypes(HANDLE hProcess,ULONG64 BaseOfDll,PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,PVOID UserContext); + WINBOOL IMAGEAPI SymEnumTypesW(HANDLE hProcess,ULONG64 BaseOfDll,PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,PVOID UserContext); + WINBOOL IMAGEAPI SymGetTypeFromName(HANDLE hProcess,ULONG64 BaseOfDll,PCSTR Name,PSYMBOL_INFO Symbol); + WINBOOL IMAGEAPI SymGetTypeFromNameW(HANDLE hProcess,ULONG64 BaseOfDll,PCWSTR Name,PSYMBOL_INFOW Symbol); + WINBOOL IMAGEAPI SymAddSymbol(HANDLE hProcess,ULONG64 BaseOfDll,PCSTR Name,DWORD64 Address,DWORD Size,DWORD Flags); + WINBOOL IMAGEAPI SymAddSymbolW(HANDLE hProcess,ULONG64 BaseOfDll,PCWSTR Name,DWORD64 Address,DWORD Size,DWORD Flags); + WINBOOL IMAGEAPI SymDeleteSymbol(HANDLE hProcess,ULONG64 BaseOfDll,PCSTR Name,DWORD64 Address,DWORD Flags); + WINBOOL IMAGEAPI SymDeleteSymbolW(HANDLE hProcess,ULONG64 BaseOfDll,PCWSTR Name,DWORD64 Address,DWORD Flags); + + typedef WINBOOL (WINAPI *PDBGHELP_CREATE_USER_DUMP_CALLBACK)(DWORD DataType,PVOID *Data,LPDWORD DataLength,PVOID UserData); + + WINBOOL WINAPI DbgHelpCreateUserDump(LPCSTR FileName,PDBGHELP_CREATE_USER_DUMP_CALLBACK Callback,PVOID UserData); + WINBOOL WINAPI DbgHelpCreateUserDumpW(LPCWSTR FileName,PDBGHELP_CREATE_USER_DUMP_CALLBACK Callback,PVOID UserData); + WINBOOL IMAGEAPI SymGetSymFromAddr64(HANDLE hProcess,DWORD64 qwAddr,PDWORD64 pdwDisplacement,PIMAGEHLP_SYMBOL64 Symbol); + +#ifdef _IMAGEHLP64 +#define SymGetSymFromAddr SymGetSymFromAddr64 +#else + WINBOOL IMAGEAPI SymGetSymFromAddr(HANDLE hProcess,DWORD dwAddr,PDWORD pdwDisplacement,PIMAGEHLP_SYMBOL Symbol); +#endif + + WINBOOL IMAGEAPI SymGetSymFromName64(HANDLE hProcess,PCSTR Name,PIMAGEHLP_SYMBOL64 Symbol); + +#ifdef _IMAGEHLP64 +#define SymGetSymFromName SymGetSymFromName64 +#else + WINBOOL IMAGEAPI SymGetSymFromName(HANDLE hProcess,PCSTR Name,PIMAGEHLP_SYMBOL Symbol); +#endif + + DBHLP_DEPRECIATED WINBOOL IMAGEAPI FindFileInPath(HANDLE hprocess,PCSTR SearchPath,PCSTR FileName,PVOID id,DWORD two,DWORD three,DWORD flags,PSTR FilePath); + DBHLP_DEPRECIATED WINBOOL IMAGEAPI FindFileInSearchPath(HANDLE hprocess,PCSTR SearchPath,PCSTR FileName,DWORD one,DWORD two,DWORD three,PSTR FilePath); + DBHLP_DEPRECIATED WINBOOL IMAGEAPI SymEnumSym(HANDLE hProcess,ULONG64 BaseOfDll,PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,PVOID UserContext); + +#ifdef __cplusplus +} +#endif + +#define SYMF_OMAP_GENERATED 0x00000001 +#define SYMF_OMAP_MODIFIED 0x00000002 +#define SYMF_REGISTER 0x00000008 +#define SYMF_REGREL 0x00000010 +#define SYMF_FRAMEREL 0x00000020 +#define SYMF_PARAMETER 0x00000040 +#define SYMF_LOCAL 0x00000080 +#define SYMF_CONSTANT 0x00000100 +#define SYMF_EXPORT 0x00000200 +#define SYMF_FORWARDER 0x00000400 +#define SYMF_FUNCTION 0x00000800 +#define SYMF_VIRTUAL 0x00001000 +#define SYMF_THUNK 0x00002000 +#define SYMF_TLSREL 0x00004000 + +#define IMAGEHLP_SYMBOL_INFO_VALUEPRESENT 1 +#define IMAGEHLP_SYMBOL_INFO_REGISTER SYMF_REGISTER +#define IMAGEHLP_SYMBOL_INFO_REGRELATIVE SYMF_REGREL +#define IMAGEHLP_SYMBOL_INFO_FRAMERELATIVE SYMF_FRAMEREL +#define IMAGEHLP_SYMBOL_INFO_PARAMETER SYMF_PARAMETER +#define IMAGEHLP_SYMBOL_INFO_LOCAL SYMF_LOCAL +#define IMAGEHLP_SYMBOL_INFO_CONSTANT SYMF_CONSTANT +#define IMAGEHLP_SYMBOL_FUNCTION SYMF_FUNCTION +#define IMAGEHLP_SYMBOL_VIRTUAL SYMF_VIRTUAL +#define IMAGEHLP_SYMBOL_THUNK SYMF_THUNK +#define IMAGEHLP_SYMBOL_INFO_TLSRELATIVE SYMF_TLSREL + +#include + +#define MINIDUMP_SIGNATURE ('PMDM') +#define MINIDUMP_VERSION (42899) + typedef DWORD RVA; + typedef ULONG64 RVA64; + + typedef struct _MINIDUMP_LOCATION_DESCRIPTOR { + ULONG32 DataSize; + RVA Rva; + } MINIDUMP_LOCATION_DESCRIPTOR; + + typedef struct _MINIDUMP_LOCATION_DESCRIPTOR64 { + ULONG64 DataSize; + RVA64 Rva; + } MINIDUMP_LOCATION_DESCRIPTOR64; + + typedef struct _MINIDUMP_MEMORY_DESCRIPTOR { + ULONG64 StartOfMemoryRange; + MINIDUMP_LOCATION_DESCRIPTOR Memory; + } MINIDUMP_MEMORY_DESCRIPTOR,*PMINIDUMP_MEMORY_DESCRIPTOR; + + typedef struct _MINIDUMP_MEMORY_DESCRIPTOR64 { + ULONG64 StartOfMemoryRange; + ULONG64 DataSize; + } MINIDUMP_MEMORY_DESCRIPTOR64,*PMINIDUMP_MEMORY_DESCRIPTOR64; + + typedef struct _MINIDUMP_HEADER { + ULONG32 Signature; + ULONG32 Version; + ULONG32 NumberOfStreams; + RVA StreamDirectoryRva; + ULONG32 CheckSum; + __C89_NAMELESS union { + ULONG32 Reserved; + ULONG32 TimeDateStamp; + }; + ULONG64 Flags; + } MINIDUMP_HEADER,*PMINIDUMP_HEADER; + + typedef struct _MINIDUMP_DIRECTORY { + ULONG32 StreamType; + MINIDUMP_LOCATION_DESCRIPTOR Location; + } MINIDUMP_DIRECTORY,*PMINIDUMP_DIRECTORY; + + typedef struct _MINIDUMP_STRING { + ULONG32 Length; + WCHAR Buffer[0]; + } MINIDUMP_STRING,*PMINIDUMP_STRING; + + typedef enum _MINIDUMP_STREAM_TYPE { + UnusedStream = 0, + ReservedStream0 = 1, + ReservedStream1 = 2, + ThreadListStream = 3, + ModuleListStream = 4, + MemoryListStream = 5, + ExceptionStream = 6, + SystemInfoStream = 7, + ThreadExListStream = 8, + Memory64ListStream = 9, + CommentStreamA = 10, + CommentStreamW = 11, + HandleDataStream = 12, + FunctionTableStream = 13, + UnloadedModuleListStream = 14, + MiscInfoStream = 15, + MemoryInfoListStream = 16, + ThreadInfoListStream = 17, + HandleOperationListStream = 18, + TokenStream = 19, + JavaScriptDataStream = 20, + SystemMemoryInfoStream = 21, + ProcessVmCountersStream = 22, + IptTraceStream = 23, + ThreadNamesStream = 24, + ceStreamNull = 0x8000, + ceStreamSystemInfo = 0x8001, + ceStreamException = 0x8002, + ceStreamModuleList = 0x8003, + ceStreamProcessList = 0x8004, + ceStreamThreadList = 0x8005, + ceStreamThreadContextList = 0x8006, + ceStreamThreadCallStackList = 0x8007, + ceStreamMemoryVirtualList = 0x8008, + ceStreamMemoryPhysicalList = 0x8009, + ceStreamBucketParameters = 0x800a, + ceStreamProcessModuleMap = 0x800b, + ceStreamDiagnosisList = 0x800c, + LastReservedStream = 0xffff + } MINIDUMP_STREAM_TYPE; + + typedef union _CPU_INFORMATION { + struct { + ULONG32 VendorId[3]; + ULONG32 VersionInformation; + ULONG32 FeatureInformation; + ULONG32 AMDExtendedCpuFeatures; + } X86CpuInfo; + struct { + ULONG64 ProcessorFeatures[2]; + } OtherCpuInfo; + } CPU_INFORMATION,*PCPU_INFORMATION; + + typedef struct _MINIDUMP_SYSTEM_INFO { + USHORT ProcessorArchitecture; + USHORT ProcessorLevel; + USHORT ProcessorRevision; + __C89_NAMELESS union { + USHORT Reserved0; + __C89_NAMELESS struct { + UCHAR NumberOfProcessors; + UCHAR ProductType; + }; + }; + ULONG32 MajorVersion; + ULONG32 MinorVersion; + ULONG32 BuildNumber; + ULONG32 PlatformId; + RVA CSDVersionRva; + __C89_NAMELESS union { + ULONG32 Reserved1; + __C89_NAMELESS struct { + USHORT SuiteMask; + USHORT Reserved2; + }; + }; + CPU_INFORMATION Cpu; + } MINIDUMP_SYSTEM_INFO,*PMINIDUMP_SYSTEM_INFO; + + C_ASSERT(sizeof(((PPROCESS_INFORMATION)0)->dwThreadId)==4); + + typedef struct _MINIDUMP_THREAD { + ULONG32 ThreadId; + ULONG32 SuspendCount; + ULONG32 PriorityClass; + ULONG32 Priority; + ULONG64 Teb; + MINIDUMP_MEMORY_DESCRIPTOR Stack; + MINIDUMP_LOCATION_DESCRIPTOR ThreadContext; + } MINIDUMP_THREAD,*PMINIDUMP_THREAD; + + typedef struct _MINIDUMP_THREAD_LIST { + ULONG32 NumberOfThreads; + MINIDUMP_THREAD Threads[0]; + } MINIDUMP_THREAD_LIST,*PMINIDUMP_THREAD_LIST; + + typedef struct _MINIDUMP_THREAD_EX { + ULONG32 ThreadId; + ULONG32 SuspendCount; + ULONG32 PriorityClass; + ULONG32 Priority; + ULONG64 Teb; + MINIDUMP_MEMORY_DESCRIPTOR Stack; + MINIDUMP_LOCATION_DESCRIPTOR ThreadContext; + MINIDUMP_MEMORY_DESCRIPTOR BackingStore; + } MINIDUMP_THREAD_EX,*PMINIDUMP_THREAD_EX; + + typedef struct _MINIDUMP_THREAD_EX_LIST { + ULONG32 NumberOfThreads; + MINIDUMP_THREAD_EX Threads[0]; + } MINIDUMP_THREAD_EX_LIST,*PMINIDUMP_THREAD_EX_LIST; + + typedef struct _MINIDUMP_EXCEPTION { + ULONG32 ExceptionCode; + ULONG32 ExceptionFlags; + ULONG64 ExceptionRecord; + ULONG64 ExceptionAddress; + ULONG32 NumberParameters; + ULONG32 __unusedAlignment; + ULONG64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; + } MINIDUMP_EXCEPTION,*PMINIDUMP_EXCEPTION; + + typedef struct MINIDUMP_EXCEPTION_STREAM { + ULONG32 ThreadId; + ULONG32 __alignment; + MINIDUMP_EXCEPTION ExceptionRecord; + MINIDUMP_LOCATION_DESCRIPTOR ThreadContext; + } MINIDUMP_EXCEPTION_STREAM,*PMINIDUMP_EXCEPTION_STREAM; + + typedef struct _MINIDUMP_MODULE { + ULONG64 BaseOfImage; + ULONG32 SizeOfImage; + ULONG32 CheckSum; + ULONG32 TimeDateStamp; + RVA ModuleNameRva; + VS_FIXEDFILEINFO VersionInfo; + MINIDUMP_LOCATION_DESCRIPTOR CvRecord; + MINIDUMP_LOCATION_DESCRIPTOR MiscRecord; + ULONG64 Reserved0; + ULONG64 Reserved1; + } MINIDUMP_MODULE,*PMINIDUMP_MODULE; + + typedef struct _MINIDUMP_MODULE_LIST { + ULONG32 NumberOfModules; + MINIDUMP_MODULE Modules[0]; + } MINIDUMP_MODULE_LIST,*PMINIDUMP_MODULE_LIST; + + typedef struct _MINIDUMP_MEMORY_LIST { + ULONG32 NumberOfMemoryRanges; + MINIDUMP_MEMORY_DESCRIPTOR MemoryRanges[0]; + } MINIDUMP_MEMORY_LIST,*PMINIDUMP_MEMORY_LIST; + + typedef struct _MINIDUMP_MEMORY64_LIST { + ULONG64 NumberOfMemoryRanges; + RVA64 BaseRva; + MINIDUMP_MEMORY_DESCRIPTOR64 MemoryRanges[0]; + } MINIDUMP_MEMORY64_LIST,*PMINIDUMP_MEMORY64_LIST; + + typedef struct _MINIDUMP_EXCEPTION_INFORMATION { + DWORD ThreadId; + PEXCEPTION_POINTERS ExceptionPointers; + WINBOOL ClientPointers; + } MINIDUMP_EXCEPTION_INFORMATION,*PMINIDUMP_EXCEPTION_INFORMATION; + + typedef struct _MINIDUMP_EXCEPTION_INFORMATION64 { + DWORD ThreadId; + ULONG64 ExceptionRecord; + ULONG64 ContextRecord; + WINBOOL ClientPointers; + } MINIDUMP_EXCEPTION_INFORMATION64,*PMINIDUMP_EXCEPTION_INFORMATION64; + + typedef enum _MINIDUMP_HANDLE_OBJECT_INFORMATION_TYPE { + MiniHandleObjectInformationNone, + MiniThreadInformation1, + MiniMutantInformation1, + MiniMutantInformation2, + MiniProcessInformation1, + MiniProcessInformation2, + MiniEventInformation1, + MiniSectionInformation1, + MiniSemaphoreInformation1, + MiniHandleObjectInformationTypeMax + } MINIDUMP_HANDLE_OBJECT_INFORMATION_TYPE; + + typedef struct _MINIDUMP_HANDLE_OBJECT_INFORMATION { + RVA NextInfoRva; + ULONG32 InfoType; + ULONG32 SizeOfInfo; + } MINIDUMP_HANDLE_OBJECT_INFORMATION; + + typedef struct _MINIDUMP_HANDLE_DESCRIPTOR { + ULONG64 Handle; + RVA TypeNameRva; + RVA ObjectNameRva; + ULONG32 Attributes; + ULONG32 GrantedAccess; + ULONG32 HandleCount; + ULONG32 PointerCount; + } MINIDUMP_HANDLE_DESCRIPTOR,*PMINIDUMP_HANDLE_DESCRIPTOR; + + typedef struct _MINIDUMP_HANDLE_DATA_STREAM { + ULONG32 SizeOfHeader; + ULONG32 SizeOfDescriptor; + ULONG32 NumberOfDescriptors; + ULONG32 Reserved; + } MINIDUMP_HANDLE_DATA_STREAM,*PMINIDUMP_HANDLE_DATA_STREAM; + + typedef struct _MINIDUMP_FUNCTION_TABLE_DESCRIPTOR { + ULONG64 MinimumAddress; + ULONG64 MaximumAddress; + ULONG64 BaseAddress; + ULONG32 EntryCount; + ULONG32 SizeOfAlignPad; + } MINIDUMP_FUNCTION_TABLE_DESCRIPTOR,*PMINIDUMP_FUNCTION_TABLE_DESCRIPTOR; + + typedef struct _MINIDUMP_FUNCTION_TABLE_STREAM { + ULONG32 SizeOfHeader; + ULONG32 SizeOfDescriptor; + ULONG32 SizeOfNativeDescriptor; + ULONG32 SizeOfFunctionEntry; + ULONG32 NumberOfDescriptors; + ULONG32 SizeOfAlignPad; + } MINIDUMP_FUNCTION_TABLE_STREAM,*PMINIDUMP_FUNCTION_TABLE_STREAM; + + typedef struct _MINIDUMP_UNLOADED_MODULE { + ULONG64 BaseOfImage; + ULONG32 SizeOfImage; + ULONG32 CheckSum; + ULONG32 TimeDateStamp; + RVA ModuleNameRva; + } MINIDUMP_UNLOADED_MODULE,*PMINIDUMP_UNLOADED_MODULE; + + typedef struct _MINIDUMP_UNLOADED_MODULE_LIST { + ULONG32 SizeOfHeader; + ULONG32 SizeOfEntry; + ULONG32 NumberOfEntries; + } MINIDUMP_UNLOADED_MODULE_LIST,*PMINIDUMP_UNLOADED_MODULE_LIST; + +#define MINIDUMP_MISC1_PROCESS_ID 0x00000001 +#define MINIDUMP_MISC1_PROCESS_TIMES 0x00000002 +#define MINIDUMP_MISC1_PROCESSOR_POWER_INFO 0x00000004 + + typedef struct _MINIDUMP_MISC_INFO { + ULONG32 SizeOfInfo; + ULONG32 Flags1; + ULONG32 ProcessId; + ULONG32 ProcessCreateTime; + ULONG32 ProcessUserTime; + ULONG32 ProcessKernelTime; + } MINIDUMP_MISC_INFO,*PMINIDUMP_MISC_INFO; + + typedef struct _MINIDUMP_USER_RECORD { + ULONG32 Type; + MINIDUMP_LOCATION_DESCRIPTOR Memory; + } MINIDUMP_USER_RECORD,*PMINIDUMP_USER_RECORD; + + typedef struct _MINIDUMP_USER_STREAM { + ULONG32 Type; + ULONG BufferSize; + PVOID Buffer; + } MINIDUMP_USER_STREAM,*PMINIDUMP_USER_STREAM; + + typedef struct _MINIDUMP_USER_STREAM_INFORMATION { + ULONG UserStreamCount; + PMINIDUMP_USER_STREAM UserStreamArray; + } MINIDUMP_USER_STREAM_INFORMATION,*PMINIDUMP_USER_STREAM_INFORMATION; + + typedef enum _MINIDUMP_CALLBACK_TYPE { + ModuleCallback, + ThreadCallback, + ThreadExCallback, + IncludeThreadCallback, + IncludeModuleCallback, + MemoryCallback, + CancelCallback, + WriteKernelMinidumpCallback, + KernelMinidumpStatusCallback, + RemoveMemoryCallback, + IncludeVmRegionCallback, + IoStartCallback, + IoWriteAllCallback, + IoFinishCallback, + ReadMemoryFailureCallback, + SecondaryFlagsCallback, + IsProcessSnapshotCallback, + VmStartCallback, + VmQueryCallback, + VmPreReadCallback, + VmPostReadCallback + } MINIDUMP_CALLBACK_TYPE; + + typedef struct _MINIDUMP_THREAD_CALLBACK { + ULONG ThreadId; + HANDLE ThreadHandle; +#if defined(__aarch64__) + ULONG Pad; +#endif + CONTEXT Context; + ULONG SizeOfContext; + ULONG64 StackBase; + ULONG64 StackEnd; + } MINIDUMP_THREAD_CALLBACK,*PMINIDUMP_THREAD_CALLBACK; + + typedef struct _MINIDUMP_THREAD_EX_CALLBACK { + ULONG ThreadId; + HANDLE ThreadHandle; +#if defined(__aarch64__) + ULONG Pad; +#endif + CONTEXT Context; + ULONG SizeOfContext; + ULONG64 StackBase; + ULONG64 StackEnd; + ULONG64 BackingStoreBase; + ULONG64 BackingStoreEnd; + } MINIDUMP_THREAD_EX_CALLBACK,*PMINIDUMP_THREAD_EX_CALLBACK; + + typedef struct _MINIDUMP_INCLUDE_THREAD_CALLBACK { + ULONG ThreadId; + } MINIDUMP_INCLUDE_THREAD_CALLBACK,*PMINIDUMP_INCLUDE_THREAD_CALLBACK; + + typedef enum _THREAD_WRITE_FLAGS { + ThreadWriteThread = 0x0001, + ThreadWriteStack = 0x0002, + ThreadWriteContext = 0x0004, + ThreadWriteBackingStore = 0x0008, + ThreadWriteInstructionWindow = 0x0010, + ThreadWriteThreadData = 0x0020, + ThreadWriteThreadInfo = 0x0040 + } THREAD_WRITE_FLAGS; + + typedef struct _MINIDUMP_MODULE_CALLBACK { + PWCHAR FullPath; + ULONG64 BaseOfImage; + ULONG SizeOfImage; + ULONG CheckSum; + ULONG TimeDateStamp; + VS_FIXEDFILEINFO VersionInfo; + PVOID CvRecord; + ULONG SizeOfCvRecord; + PVOID MiscRecord; + ULONG SizeOfMiscRecord; + } MINIDUMP_MODULE_CALLBACK,*PMINIDUMP_MODULE_CALLBACK; + + typedef struct _MINIDUMP_INCLUDE_MODULE_CALLBACK { + ULONG64 BaseOfImage; + } MINIDUMP_INCLUDE_MODULE_CALLBACK,*PMINIDUMP_INCLUDE_MODULE_CALLBACK; + + typedef enum _MODULE_WRITE_FLAGS { + ModuleWriteModule = 0x0001, + ModuleWriteDataSeg = 0x0002, + ModuleWriteMiscRecord = 0x0004, + ModuleWriteCvRecord = 0x0008, + ModuleReferencedByMemory = 0x0010, + ModuleWriteTlsData = 0x0020, + ModuleWriteCodeSegs = 0x0040 + } MODULE_WRITE_FLAGS; + + typedef enum _MINIDUMP_SECONDARY_FLAGS { + MiniSecondaryWithoutPowerInfo = 0x00000001 + } MINIDUMP_SECONDARY_FLAGS; + + typedef struct _MINIDUMP_CALLBACK_INPUT { + ULONG ProcessId; + HANDLE ProcessHandle; + ULONG CallbackType; + __C89_NAMELESS union { + MINIDUMP_THREAD_CALLBACK Thread; + MINIDUMP_THREAD_EX_CALLBACK ThreadEx; + MINIDUMP_MODULE_CALLBACK Module; + MINIDUMP_INCLUDE_THREAD_CALLBACK IncludeThread; + MINIDUMP_INCLUDE_MODULE_CALLBACK IncludeModule; + }; + } MINIDUMP_CALLBACK_INPUT,*PMINIDUMP_CALLBACK_INPUT; + +typedef struct _MINIDUMP_MEMORY_INFO { + ULONG64 BaseAddress; + ULONG64 AllocationBase; + ULONG32 AllocationProtect; + ULONG32 __alignment1; + ULONG64 RegionSize; + ULONG32 State; + ULONG32 Protect; + ULONG32 Type; + ULONG32 __alignment2; +} MINIDUMP_MEMORY_INFO, *PMINIDUMP_MEMORY_INFO; + +typedef struct _MINIDUMP_MISC_INFO_2 { + ULONG32 SizeOfInfo; + ULONG32 Flags1; + ULONG32 ProcessId; + ULONG32 ProcessCreateTime; + ULONG32 ProcessUserTime; + ULONG32 ProcessKernelTime; + ULONG32 ProcessorMaxMhz; + ULONG32 ProcessorCurrentMhz; + ULONG32 ProcessorMhzLimit; + ULONG32 ProcessorMaxIdleState; + ULONG32 ProcessorCurrentIdleState; +} MINIDUMP_MISC_INFO_2, *PMINIDUMP_MISC_INFO_2; + +typedef struct _MINIDUMP_MEMORY_INFO_LIST { + ULONG SizeOfHeader; + ULONG SizeOfEntry; + ULONG64 NumberOfEntries; +} MINIDUMP_MEMORY_INFO_LIST, *PMINIDUMP_MEMORY_INFO_LIST; + + typedef struct _MINIDUMP_CALLBACK_OUTPUT { + __C89_NAMELESS union { + ULONG ModuleWriteFlags; + ULONG ThreadWriteFlags; + ULONG SecondaryFlags; + __C89_NAMELESS struct { + ULONG64 MemoryBase; + ULONG MemorySize; + }; + __C89_NAMELESS struct { + WINBOOL CheckCancel; + WINBOOL Cancel; + }; + HANDLE Handle; + }; + __C89_NAMELESS struct { + MINIDUMP_MEMORY_INFO VmRegion; + WINBOOL Continue; + }; + HRESULT Status; + } MINIDUMP_CALLBACK_OUTPUT, *PMINIDUMP_CALLBACK_OUTPUT; + + typedef enum _MINIDUMP_TYPE { + MiniDumpNormal = 0x00000000, + MiniDumpWithDataSegs = 0x00000001, + MiniDumpWithFullMemory = 0x00000002, + MiniDumpWithHandleData = 0x00000004, + MiniDumpFilterMemory = 0x00000008, + MiniDumpScanMemory = 0x00000010, + MiniDumpWithUnloadedModules = 0x00000020, + MiniDumpWithIndirectlyReferencedMemory = 0x00000040, + MiniDumpFilterModulePaths = 0x00000080, + MiniDumpWithProcessThreadData = 0x00000100, + MiniDumpWithPrivateReadWriteMemory = 0x00000200, + MiniDumpWithoutOptionalData = 0x00000400, + MiniDumpWithFullMemoryInfo = 0x00000800, + MiniDumpWithThreadInfo = 0x00001000, + MiniDumpWithCodeSegs = 0x00002000, + MiniDumpWithoutAuxiliaryState = 0x00004000, + MiniDumpWithFullAuxiliaryState = 0x00008000, + MiniDumpWithPrivateWriteCopyMemory = 0x00010000, + MiniDumpIgnoreInaccessibleMemory = 0x00020000, + MiniDumpWithTokenInformation = 0x00040000, + MiniDumpWithModuleHeaders = 0x00080000, + MiniDumpFilterTriage = 0x00100000, + MiniDumpWithAvxXStateContext = 0x00200000, + MiniDumpWithIptTrace = 0x00400000, + MiniDumpScanInaccessiblePartialPages = 0x00800000, + MiniDumpValidTypeFlags = 0x00ffffff + } MINIDUMP_TYPE; + +#define MINIDUMP_THREAD_INFO_ERROR_THREAD 0x00000001 +#define MINIDUMP_THREAD_INFO_WRITING_THREAD 0x00000002 +#define MINIDUMP_THREAD_INFO_EXITED_THREAD 0x00000004 +#define MINIDUMP_THREAD_INFO_INVALID_INFO 0x00000008 +#define MINIDUMP_THREAD_INFO_INVALID_CONTEXT 0x00000010 +#define MINIDUMP_THREAD_INFO_INVALID_TEB 0x00000020 + +typedef struct _MINIDUMP_THREAD_INFO { + ULONG32 ThreadId; + ULONG32 DumpFlags; + ULONG32 DumpError; + ULONG32 ExitStatus; + ULONG64 CreateTime; + ULONG64 ExitTime; + ULONG64 KernelTime; + ULONG64 UserTime; + ULONG64 StartAddress; + ULONG64 Affinity; +} MINIDUMP_THREAD_INFO, *PMINIDUMP_THREAD_INFO; + +typedef struct _MINIDUMP_THREAD_INFO_LIST { + ULONG SizeOfHeader; + ULONG SizeOfEntry; + ULONG NumberOfEntries; +} MINIDUMP_THREAD_INFO_LIST, *PMINIDUMP_THREAD_INFO_LIST; + +typedef struct _MINIDUMP_HANDLE_OPERATION_LIST { + ULONG32 SizeOfHeader; + ULONG32 SizeOfEntry; + ULONG32 NumberOfEntries; + ULONG32 Reserved; +} MINIDUMP_HANDLE_OPERATION_LIST, *PMINIDUMP_HANDLE_OPERATION_LIST; + +#ifdef __cplusplus +extern "C" { +#endif + + typedef WINBOOL (WINAPI *MINIDUMP_CALLBACK_ROUTINE)(PVOID CallbackParam,CONST PMINIDUMP_CALLBACK_INPUT CallbackInput,PMINIDUMP_CALLBACK_OUTPUT CallbackOutput); + + typedef struct _MINIDUMP_CALLBACK_INFORMATION { + MINIDUMP_CALLBACK_ROUTINE CallbackRoutine; + PVOID CallbackParam; + } MINIDUMP_CALLBACK_INFORMATION,*PMINIDUMP_CALLBACK_INFORMATION; + +#define RVA_TO_ADDR(Mapping,Rva) ((PVOID)(((ULONG_PTR) (Mapping)) + (Rva))) + + WINBOOL WINAPI MiniDumpWriteDump(HANDLE hProcess,DWORD ProcessId,HANDLE hFile,MINIDUMP_TYPE DumpType,CONST PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,CONST PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,CONST PMINIDUMP_CALLBACK_INFORMATION CallbackParam); + WINBOOL WINAPI MiniDumpReadDumpStream(PVOID BaseOfDump,ULONG StreamNumber,PMINIDUMP_DIRECTORY *Dir,PVOID *StreamPointer,ULONG *StreamSize); + +WINBOOL WINAPI EnumerateLoadedModulesEx( + HANDLE hProcess, + PENUMLOADED_MODULES_CALLBACK64 EnumLoadedModulesCallback, + PVOID UserContext +); + +WINBOOL WINAPI EnumerateLoadedModulesExW( + HANDLE hProcess, + PENUMLOADED_MODULES_CALLBACKW64 EnumLoadedModulesCallback, + PVOID UserContext +); + +WINBOOL WINAPI SymAddSourceStream( + HANDLE hProcess, + ULONG64 Base, + PCSTR StreamFile, + PBYTE Buffer, + size_t Size +); + +WINBOOL WINAPI SymAddSourceStreamW( + HANDLE hProcess, + ULONG64 Base, + PCWSTR StreamFile, + PBYTE Buffer, + size_t Size +); + +WINBOOL WINAPI SymEnumSourceLines( + HANDLE hProcess, + ULONG64 Base, + PCSTR Obj, + PCSTR File, + DWORD Line, + DWORD Flags, + PSYM_ENUMLINES_CALLBACK EnumLinesCallback, + PVOID UserContext +); + +WINBOOL WINAPI SymEnumSourceLinesW( + HANDLE hProcess, + ULONG64 Base, + PCWSTR Obj, + PCWSTR File, + DWORD Line, + DWORD Flags, + PSYM_ENUMLINES_CALLBACKW EnumLinesCallback, + PVOID UserContext +); + +WINBOOL WINAPI SymEnumTypesByName( + HANDLE hProcess, + ULONG64 BaseOfDll, + PCSTR mask, + PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback, + PVOID UserContext +); + +WINBOOL WINAPI SymEnumTypesByNameW( + HANDLE hProcess, + ULONG64 BaseOfDll, + PCSTR mask, + PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback, + PVOID UserContext +); + +HANDLE WINAPI SymFindDebugInfoFile( + HANDLE hProcess, + PCSTR FileName, + PSTR DebugFilePath, + PFIND_DEBUG_FILE_CALLBACK Callback, + PVOID CallerData +); + +HANDLE WINAPI SymFindDebugInfoFileW( + HANDLE hProcess, + PCWSTR FileName, + PWSTR DebugFilePath, + PFIND_DEBUG_FILE_CALLBACKW Callback, + PVOID CallerData +); + +HANDLE WINAPI SymFindExecutableImage( + HANDLE hProcess, + PCSTR FileName, + PSTR ImageFilePath, + PFIND_EXE_FILE_CALLBACK Callback, + PVOID CallerData +); + +HANDLE WINAPI SymFindExecutableImageW( + HANDLE hProcess, + PCWSTR FileName, + PWSTR ImageFilePath, + PFIND_EXE_FILE_CALLBACKW Callback, + PVOID CallerData +); + +WINBOOL WINAPI SymFromIndex( + HANDLE hProcess, + ULONG64 BaseOfDll, + DWORD Index, + PSYMBOL_INFO Symbol +); + +WINBOOL WINAPI SymFromIndexW( + HANDLE hProcess, + ULONG64 BaseOfDll, + DWORD Index, + PSYMBOL_INFOW Symbol +); + +WINBOOL WINAPI SymGetScope( + HANDLE hProcess, + ULONG64 BaseOfDll, + DWORD Index, + PSYMBOL_INFO Symbol +); + +WINBOOL WINAPI SymGetScopeW( + HANDLE hProcess, + ULONG64 BaseOfDll, + DWORD Index, + PSYMBOL_INFOW Symbol +); + +WINBOOL WINAPI SymGetSourceFileFromToken( + HANDLE hProcess, + PVOID Token, + PCSTR Params, + PSTR FilePath, + DWORD Size +); + +WINBOOL WINAPI SymGetSourceFileFromTokenW( + HANDLE hProcess, + PVOID Token, + PCWSTR Params, + PWSTR FilePath, + DWORD Size +); + +WINBOOL WINAPI SymGetSourceFileToken( + HANDLE hProcess, + ULONG64 Base, + PCSTR FileSpec, + PVOID *Token, + DWORD *Size +); + +WINBOOL WINAPI SymGetSourceFileTokenW( + HANDLE hProcess, + ULONG64 Base, + PCWSTR FileSpec, + PVOID *Token, + DWORD *Size +); + +WINBOOL WINAPI SymGetSourceFile( + HANDLE hProcess, + ULONG64 Base, + PCSTR Params, + PCSTR FileSpec, + PSTR FilePath, + DWORD Size +); + +WINBOOL WINAPI SymGetSourceFileW( + HANDLE hProcess, + ULONG64 Base, + PCWSTR Params, + PCWSTR FileSpec, + PWSTR FilePath, + DWORD Size +); + +WINBOOL WINAPI SymGetSourceVarFromToken( + HANDLE hProcess, + PVOID Token, + PCSTR Params, + PCSTR VarName, + PSTR Value, + DWORD Size +); + +WINBOOL WINAPI SymGetSourceVarFromTokenW( + HANDLE hProcess, + PVOID Token, + PCWSTR Params, + PCWSTR VarName, + PWSTR Value, + DWORD Size +); + +WINBOOL WINAPI SymGetSymbolFile( + HANDLE hProcess, + PCSTR SymPath, + PCSTR ImageFile, + DWORD Type, + PSTR SymbolFile, + size_t cSymbolFile, + PSTR DbgFile, + size_t cDbgFile +); + +WINBOOL WINAPI SymGetSymbolFileW( + HANDLE hProcess, + PCWSTR SymPath, + PCWSTR ImageFile, + DWORD Type, + PWSTR SymbolFile, + size_t cSymbolFile, + PWSTR DbgFile, + size_t cDbgFile +); + +WINBOOL WINAPI SymNext( + HANDLE hProcess, + PSYMBOL_INFO Symbol +); + +WINBOOL WINAPI SymNextW( + HANDLE hProcess, + PSYMBOL_INFOW Symbol +); + +WINBOOL WINAPI SymPrev( + HANDLE hProcess, + PSYMBOL_INFO Symbol +); + +WINBOOL WINAPI SymPrevW( + HANDLE hProcess, + PSYMBOL_INFOW Symbol +); + +WINBOOL WINAPI SymRefreshModuleList( + HANDLE hProcess +); + +#define SYMSEARCH_MASKOBJS 0x01 +#define SYMSEARCH_RECURSE 0x02 +#define SYMSEARCH_GLOBALSONLY 0x04 +#define SYMSEARCH_ALLITEMS 0x08 + +WINBOOL WINAPI SymSearch( + HANDLE hProcess, + ULONG64 BaseOfDll, + DWORD Index, + DWORD SymTag, + PCSTR Mask, + DWORD64 Address, + PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback, + PVOID UserContext, + DWORD Options +); + +WINBOOL WINAPI SymSearchW( + HANDLE hProcess, + ULONG64 BaseOfDll, + DWORD Index, + DWORD SymTag, + PCWSTR Mask, + DWORD64 Address, + PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback, + PVOID UserContext, + DWORD Options +); + +WINBOOL WINAPI SymSrvGetFileIndexString( + HANDLE hProcess, + PCSTR SrvPath, + PCSTR File, + PSTR Index, + size_t Size, + DWORD Flags +); + +WINBOOL WINAPI SymSrvGetFileIndexStringW( + HANDLE hProcess, + PCWSTR SrvPath, + PCWSTR File, + PWSTR Index, + size_t Size, + DWORD Flags +); + +WINBOOL WINAPI SymSrvGetFileIndexInfo( + PCSTR File, + PSYMSRV_INDEX_INFO Info, + DWORD Flags +); + +WINBOOL WINAPI SymSrvGetFileIndexInfoW( + PCWSTR File, + PSYMSRV_INDEX_INFOW Info, + DWORD Flags +); + +WINBOOL WINAPI SymSrvGetFileIndexes( + PCTSTR File, + GUID *Id, + DWORD *Val1, + DWORD *Val2, + DWORD Flags +); + +WINBOOL WINAPI SymSrvGetFileIndexesW( + PCWSTR File, + GUID *Id, + DWORD *Val1, + DWORD *Val2, + DWORD Flags +); + +PCSTR WINAPI SymSrvGetSupplement( + HANDLE hProcess, + PCSTR SymPath, + PCSTR Node, + PCSTR File +); + +PCWSTR WINAPI SymSrvGetSupplementW( + HANDLE hProcess, + PCWSTR SymPath, + PCWSTR Node, + PCWSTR File +); + +WINBOOL WINAPI SymSrvIsStore( + HANDLE hProcess, + PCSTR path +); + +WINBOOL WINAPI SymSrvIsStoreW( + HANDLE hProcess, + PCWSTR path +); + +PCSTR WINAPI SymSrvStoreFile( + HANDLE hProcess, + PCSTR SrvPath, + PCSTR File, + DWORD Flags +); + +PCWSTR WINAPI SymSrvStoreFileW( + HANDLE hProcess, + PCWSTR SrvPath, + PCWSTR File, + DWORD Flags +); + +#define SYMSTOREOPT_COMPRESS 0x01 +#define SYMSTOREOPT_OVERWRITE 0x02 +#define SYMSTOREOPT_RETURNINDEX 0x04 +#define SYMSTOREOPT_POINTER 0x08 +#define SYMSTOREOPT_PASS_IF_EXISTS 0x40 + +PCSTR WINAPI SymSrvStoreSupplement( + HANDLE hProcess, + const PCTSTR SymPath, + PCSTR Node, + PCSTR File, + DWORD Flags +); + +PCWSTR WINAPI SymSrvStoreSupplementW( + HANDLE hProcess, + const PCWSTR SymPath, + PCWSTR Node, + PCWSTR File, + DWORD Flags +); + +PCSTR WINAPI SymSrvDeltaName( + HANDLE hProcess, + PCSTR SymPath, + PCSTR Type, + PCSTR File1, + PCSTR File2 +); + +PCWSTR WINAPI SymSrvDeltaNameW( + HANDLE hProcess, + PCWSTR SymPath, + PCWSTR Type, + PCWSTR File1, + PCWSTR File2 +); + +#ifdef DBGHELP_TRANSLATE_TCHAR +#define SymInitialize SymInitializeW +#define SymAddSymbol SymAddSymbolW +#define SymDeleteSymbol SymDeleteSymbolW +#define SearchTreeForFile SearchTreeForFileW +#define UnDecorateSymbolName UnDecorateSymbolNameW +#define SymGetLineFromName64 SymGetLineFromNameW64 +#define SymGetLineFromAddr64 SymGetLineFromAddrW64 +#define SymGetLineFromInlineContext SymGetLineFromInlineContextW +#define SymGetLineNext64 SymGetLineNextW64 +#define SymGetLinePrev64 SymGetLinePrevW64 +#define SymFromName SymFromNameW +#define SymFindExecutableImage SymFindExecutableImageW +#define FindExecutableImageEx FindExecutableImageExW +#define SymSearch SymSearchW +#define SymEnumLines SymEnumLinesW +#define SymEnumSourceLines SymEnumSourceLinesW +#define SymGetTypeFromName SymGetTypeFromNameW +#define SymEnumSymbolsForAddr SymEnumSymbolsForAddrW +#define SymFromAddr SymFromAddrW +#define SymFromInlineContext SymFromInlineContextW +#define SymMatchString SymMatchStringW +#define SymEnumSourceFiles SymEnumSourceFilesW +#define SymEnumSymbols SymEnumSymbolsW +#define SymEnumSymbolsEx SymEnumSymbolsExW +#define SymLoadModuleEx SymLoadModuleExW +#define SymSetSearchPath SymSetSearchPathW +#define SymGetSearchPath SymGetSearchPathW +#define EnumDirTree EnumDirTreeW +#define SymFromToken SymFromTokenW +#define SymFromIndex SymFromIndexW +#define SymGetScope SymGetScopeW +#define SymNext SymNextW +#define SymPrev SymPrevW +#define SymEnumTypes SymEnumTypesW +#define SymEnumTypesByName SymEnumTypesByNameW +#define SymRegisterCallback64 SymRegisterCallbackW64 +#define SymFindDebugInfoFile SymFindDebugInfoFileW +#define FindDebugInfoFileEx FindDebugInfoFileExW +#define SymFindFileInPath SymFindFileInPathW +#define SymEnumerateModules64 SymEnumerateModulesW64 +#define SymSetHomeDirectory SymSetHomeDirectoryW +#define SymGetHomeDirectory SymGetHomeDirectoryW +#define SymGetSourceFile SymGetSourceFileW +#define SymGetSourceFileToken SymGetSourceFileTokenW +#define SymGetSourceFileFromToken SymGetSourceFileFromTokenW +#define SymGetSourceVarFromToken SymGetSourceVarFromTokenW +#define SymGetSourceFileTokenByTokenName SymGetSourceFileTokenByTokenNameW +#define SymGetFileLineOffsets64 SymGetFileLineOffsetsW64 +#define SymFindFileInPath SymFindFileInPathW +#define SymMatchFileName SymMatchFileNameW +#define SymGetSourceFileFromTokenByTokenName SymGetSourceFileFromTokenByTokenNameW +#define SymGetModuleInfo64 SymGetModuleInfoW64 +#define SymAddSourceStream SymAddSourceStreamW +#define SymSrvIsStore SymSrvIsStoreW +#define SymSrvDeltaName SymSrvDeltaNameW +#define SymSrvGetSupplement SymSrvGetSupplementW +#define SymSrvStoreSupplement SymSrvStoreSupplementW +#define SymSrvGetFileIndexes SymSrvGetFileIndexesW +#define SymSrvGetFileIndexString SymSrvGetFileIndexStringW +#define SymSrvStoreFile SymSrvStoreFileW +#define SymGetSymbolFile SymGetSymbolFileW +#define EnumerateLoadedModules64 EnumerateLoadedModulesW64 +#define EnumerateLoadedModulesEx EnumerateLoadedModulesExW +#define SymSrvGetFileIndexInfo SymSrvGetFileIndexInfoW + +#define IMAGEHLP_LINE64 IMAGEHLP_LINEW64 +#define PIMAGEHLP_LINE64 PIMAGEHLP_LINEW64 +#define SYMBOL_INFO SYMBOL_INFOW +#define PSYMBOL_INFO PSYMBOL_INFOW +#define SYMBOL_INFO_PACKAGE SYMBOL_INFO_PACKAGEW +#define PSYMBOL_INFO_PACKAGE PSYMBOL_INFO_PACKAGEW +#define FIND_EXE_FILE_CALLBACK FIND_EXE_FILE_CALLBACKW +#define PFIND_EXE_FILE_CALLBACK PFIND_EXE_FILE_CALLBACKW +#define SYM_ENUMERATESYMBOLS_CALLBACK SYM_ENUMERATESYMBOLS_CALLBACKW +#define PSYM_ENUMERATESYMBOLS_CALLBACK PSYM_ENUMERATESYMBOLS_CALLBACKW +#define SRCCODEINFO SRCCODEINFOW +#define PSRCCODEINFO PSRCCODEINFOW +#define SOURCEFILE SOURCEFILEW +#define PSOURCEFILE PSOURCEFILEW +#define SYM_ENUMSOURECFILES_CALLBACK SYM_ENUMSOURCEFILES_CALLBACKW +#define PSYM_ENUMSOURCEFILES_CALLBACK PSYM_ENUMSOURECFILES_CALLBACKW +#define IMAGEHLP_CBA_EVENT IMAGEHLP_CBA_EVENTW +#define PIMAGEHLP_CBA_EVENT PIMAGEHLP_CBA_EVENTW +#define PENUMDIRTREE_CALLBACK PENUMDIRTREE_CALLBACKW +#define IMAGEHLP_DEFERRED_SYMBOL_LOAD64 IMAGEHLP_DEFERRED_SYMBOL_LOADW64 +#define PIMAGEHLP_DEFERRED_SYMBOL_LOAD64 PIMAGEHLP_DEFERRED_SYMBOL_LOADW64 +#define PFIND_DEBUG_FILE_CALLBACK PFIND_DEBUG_FILE_CALLBACKW +#define PFINDFILEINPATHCALLBACK PFINDFILEINPATHCALLBACKW +#define IMAGEHLP_MODULE64 IMAGEHLP_MODULEW64 +#define PIMAGEHLP_MODULE64 PIMAGEHLP_MODULEW64 +#define SYMSRV_INDEX_INFO SYMSRV_INDEX_INFOW +#define PSYMSRV_INDEX_INFO PSYMSRV_INDEX_INFOW + +#define PSYMBOLSERVERPROC PSYMBOLSERVERPROCW +#define PSYMBOLSERVERPINGPROC PSYMBOLSERVERPINGPROCW + +#endif /* DBGHELP_TRANSLATE_TCHAR */ + +#include + +#ifdef __cplusplus +} +#endif + diff --git a/include/pshpack4.h b/include/pshpack4.h new file mode 100644 index 0000000..59fdbbc --- /dev/null +++ b/include/pshpack4.h @@ -0,0 +1,8 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ +#if !(defined(lint) || defined(RC_INVOKED)) +#pragma pack(push,4) +#endif From 2a102c922b42aa793111e06d33c58f1e0ff17aee Mon Sep 17 00:00:00 2001 From: Richard Wheeler <18647491+PythonWillRule@users.noreply.github.com> Date: Sun, 27 Sep 2026 12:14:05 -0400 Subject: [PATCH 3/4] win32: revert intrin.h to an empty stub, per review @medvednikov correctly found that the ported real mingw-w64 intrin.h can't actually work in this toolchain: - include/_mingw.h unconditionally does `#define __INTRIN_H_` (its own line ~146), which is intrin.h's own header guard. Since (included immediately before intrin.h in vc/v_win.c) pulls in _mingw.h first, intrin.h's entire body was already skipped by its own guard - not just its SSE/AVX branches, as I'd claimed. - Standalone (or any include order where _mingw.h hasn't run yet), intrin.h fails outright: it requires crtdefs.h and psdk_inc/intrin-impl.h, neither of which this bundle ships. Confirmed with the reviewer's exact repro (`echo '#include \nint main(void){return 0;}' > t.c && tcc.exe -c t.c` fails with "crtdefs.h not found"; an empty stub compiles it cleanly). This toolchain's own _mingw.h is evidently patched to preempt real intrin.h entirely, so porting it was the wrong move here - reverting to the minimal empty stub, which has no such landmine regardless of include order. dbghelp.h and its dependency chain are unaffected (no finding raised there) and unchanged. Co-Authored-By: WOZCODE --- include/intrin.h | 1737 +--------------------------------------------- 1 file changed, 32 insertions(+), 1705 deletions(-) diff --git a/include/intrin.h b/include/intrin.h index 2b48a72..fec1c24 100644 --- a/include/intrin.h +++ b/include/intrin.h @@ -1,1709 +1,36 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ - -/* The purpose of this file is to provide support for MSVC's intrinsics (what gcc calls - Builtins) in gcc. In MSVC, there are several features for intrinsics: - - - Intrinsics can either be implemented inline (via the compiler), or implemented as functions. - - You can specify which approach you prefer either globally (via compile switch /Oi) or - on a function by function basis via pragmas. - - Before you can use any of the intrinsics, they must be declared via a prototype. For - whatever reason, MS has decided to put all the intrinsics in one file (intrin.h) AND - to put duplicate copies of some of these prototypes in various platform sdk headers. - - In gcc, this is implemented as follows: - - - The inline implementations for the intrinsics are located in intrin-impl.h. This file - is included by intrin.h, as well as various platform sdk headers. - - Including intrin.h will create definitions/implementations for all available MSVC intrinsics. - - Including various platforms sdk headers will only include the intrinsics defined in that - header. As of this writing, only winnt.h and winbase.h use this approach. - - If an application defines its own prototypes for intrinsics (ie without including any - platform header or intrin.h), the symbols will be resolved from the library. Since this - will likely result in the code being invoked via 'call', performance may be degraded. - - If you wish to implement intrinsic functions that are defined in intrin.h but are not - yet implemented in mingw-w64, see the comments at the top of intrin-impl.h. -*/ - -#ifndef __INTRIN_H_ -#define __INTRIN_H_ -#ifndef RC_INVOKED - -#include -#ifndef __CYGWIN__ -#include -#endif -#include -#include - /* - * Intrins shiped with GCC conflict with our versions in C++, because they don't use extern "C" - * linkage while our variants use them. We try to work around this by including those headers - * here wrapped in extern "C" block. It's still possible that those intrins will get default - * C++ linkage (when GCC headers are explicitly included before intrin.h), but at least their - * guards will prevent duplicated declarations and avoid conflicts. + * Minimal compatibility shim for MSVC's . + * + * vlang's vc/v_win.c bootstrap snapshot is always generated with `-cc msvc` + * (see vlang/v's .github/workflows/gen_vc_ci.yml), which makes its cgen + * emit an unconditional `#include ` under `#ifdef _WIN32` (see + * vlang/v's vlib/v/gen/c/cleanc.v, the `g.ccompiler == 'msvc'` branch). + * This toolchain does not otherwise ship that header, so building + * vc/v_win.c directly with the bundled tcc fails before reaching any real + * code. + * + * This is an empty stub, not a ported real intrin.h, because this + * toolchain's own include/_mingw.h unconditionally does + * `#define __INTRIN_H_` (see its line ~146), which is the real + * mingw-w64 intrin.h's own header guard. Since (included + * immediately before this header in vc/v_win.c) pulls in _mingw.h first, + * a real ported intrin.h's body would already be skipped by its own + * guard in that include order - it would silently do nothing, while + * still being unable to preprocess standalone, since this bundle does + * not ship intrin.h's own dependencies (crtdefs.h, + * psdk_inc/intrin-impl.h). An empty stub is the honest version of the + * same no-op, without the missing-dependency failure in any other + * include order. * - * On GCC 4.9 and Clang we may always include those headers. On older GCCs, we may do it only if CPU - * features used by them are enabled, so we need to check macros like __SSE__ or __MMX__ first. + * No definitions are needed here regardless: every call site for the + * handful of MSVC intrinsics vlang's cgen can emit (_umul128, _udiv128, + * _addcarry_u64, _BitScanForward, _BitScanForward64) is wrapped in + * `#if defined(_MSC_VER)` at the C level, so under TCC those branches + * never compile in the first place - portable fallbacks run instead. + * include/winapi/winnt.h (pulled in by ) already provides + * working `_BitScanForward`, `_BitScanForward64` and `__faststorefence` + * for this toolchain (see vlang-header-compat.patch). */ -#if __MINGW_GNUC_PREREQ(4, 9) || defined(__clang__) -#define __MINGW_FORCE_SYS_INTRINS -#endif - -#if defined(__GNUC__) && \ - (defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))) -#ifndef _MM_MALLOC_H_INCLUDED -#include -#include -/* Make sure _mm_malloc and _mm_free are defined. */ -#include -#endif -#if defined(__cplusplus) -extern "C" { -#endif - -#include -#include - -/* Undefine the GCC one taking 5 parameters to prefer the mingw-w64 one. */ -#undef __cpuid - -/* Before 4.9.2, x86intrin.h had broken versions of these. */ -#undef _lrotl -#undef _lrotr - -#if defined(__cplusplus) -} -#endif - -#endif - -#ifndef __MINGW_FORCE_SYS_INTRINS -#ifndef __MMX__ -typedef union __m64 { char v[7]; } __m64; -#endif -#ifndef __SSE__ -typedef union __m128 { char v[16]; } __m128; -#endif -#ifndef __SSE2__ -typedef union __m128d { char v[16]; } __m128d; -typedef union __m128i { char v[16]; } __m128i; -#endif -#endif - -#ifndef WINAPI -#if defined(_ARM_) -#define WINAPI -#else -#define WINAPI __stdcall -#endif -#endif - -#if (defined(_X86_) || (defined(__x86_64) && !defined(__arm64ec__))) - -#if defined(__MMX__) || defined(__MINGW_FORCE_SYS_INTRINS) -#if defined(__cplusplus) -extern "C" { -#endif -#include -#if defined(__cplusplus) -} -#endif -#endif - -/* Note: mm3dnow.h intentionally not included; 3DNow! is deprecated. */ - -/* NOTE: it's not included by MS version, but we do it to try work around C++/C linkage differences */ -#if defined(__SSE__) || defined(__MINGW_FORCE_SYS_INTRINS) -#if defined(__cplusplus) -extern "C" { -#endif -#include -#if defined(__cplusplus) -} -#endif -#endif - -#if defined(__SSE2__) || defined(__MINGW_FORCE_SYS_INTRINS) -#if defined(__cplusplus) -extern "C" { -#endif -#include -#if defined(__cplusplus) -} -#endif -#endif - -#if defined(__SSE3__) || defined(__MINGW_FORCE_SYS_INTRINS) -#if defined(__cplusplus) -extern "C" { -#endif -#include -#if defined(__cplusplus) -} -#endif -#endif - -#endif - - -#define __MACHINEX64 __MACHINE -#define __MACHINEARMX __MACHINE -#define __MACHINECC __MACHINE -#define __MACHINECE __MACHINE -#define __MACHINEI __MACHINE -#define __MACHINEIA32 __MACHINE -#define __MACHINEX86X __MACHINE -#define __MACHINEX86X_NOX64 __MACHINE -#define __MACHINEX86X_NOIA64 __MACHINE -#define __MACHINEX86X_NOWIN64 __MACHINE -#define __MACHINEIA64 __MACHINE -#define __MACHINESA __MACHINE -#define __MACHINEIW64 __MACHINE -#define __MACHINEW64 __MACHINE -#define __MACHINEARM __MACHINE -#define __MACHINEARM64 __MACHINE -#define __MACHINEARM_ARM64 __MACHINE - -#define __MACHINE(X) X; -#define __MACHINEZ(X) - -#if !(defined(_X86_) && !defined(__x86_64)) -#undef __MACHINEIA32 -#define __MACHINEIA32 __MACHINEZ -#endif - -#if !(defined(_X86_) || defined(__x86_64) || defined(__ia64__)) || defined(__arm64ec__) -#undef __MACHINEIW64 -#define __MACHINEIW64 __MACHINEZ -#endif - -#if !(__ia64__) -#undef __MACHINEIA64 -#define __MACHINEIA64 __MACHINEZ -#endif - -#if !(defined(__ia64__) || defined(__x86_64)) || defined(__arm64ec__) -#undef __MACHINEW64 -#define __MACHINEW64 __MACHINEZ -#endif - -#if !(defined(_X86_) || defined(__x86_64)) || defined(__arm64ec__) -#undef __MACHINEI -#define __MACHINEI __MACHINEZ -#endif - -#if !(defined(_X86_) || defined(__x86_64)) || defined(__arm64ec__) -#undef __MACHINEX86X -#define __MACHINEX86X __MACHINEZ -#endif - -#if !(defined(_X86_)) || defined(__x86_64) -#undef __MACHINEX86X_NOX64 -#define __MACHINEX86X_NOX64 __MACHINEZ -#endif - -#if !(defined(_X86_) || defined(__x86_64)) || defined(__ia64__) || defined(__arm64ec__) -#undef __MACHINEX86X_NOIA64 -#define __MACHINEX86X_NOIA64 __MACHINEZ -#endif - -#if !(defined(_X86_)) || defined(__x86_64) || defined(__ia64__) -#undef __MACHINEX86X_NOWIN64 -#define __MACHINEX86X_NOWIN64 __MACHINEZ -#endif - -#if !(defined(__arm__)) -#undef __MACHINESA -#undef __MACHINEARM -#undef __MACHINEARMX -#undef __MACHINECC -#define __MACHINESA __MACHINEZ -#define __MACHINEARM __MACHINEZ -#define __MACHINEARMX __MACHINEZ -#define __MACHINECC __MACHINEZ -#endif - -#if !(defined(__aarch64__) || defined(__arm64ec__)) -#undef __MACHINEARM64 -#define __MACHINEARM64 __MACHINEZ -#endif - -#if !(defined(__arm__) || defined(__aarch64__) || defined(__arm64ec__)) -#undef __MACHINEARM_ARM64 -#define __MACHINEARM_ARM64 __MACHINEZ -#endif - -#if !(defined(__x86_64)) || defined(__arm64ec__) -#undef __MACHINEX64 -#define __MACHINEX64 __MACHINEZ -#endif - -#if !defined(_WIN32_WCE) -#undef __MACHINECE -#define __MACHINECE __MACHINEZ -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -#ifndef __CYGWIN__ - /* Put all declarations potentially colliding with POSIX headers here. - So far, Cygwin is the only POSIX system using this header file. - If that ever changes, make sure to tweak the guarding ifndef. */ - __MACHINE(int __cdecl abs(int)) - __MACHINEX64(double ceil(double)) - __MACHINE(long __cdecl labs(long)) - __MACHINECE(_CONST_RETURN void *__cdecl memchr(const void *,int,size_t)) - __MACHINE(int __cdecl memcmp(const void *,const void *,size_t)) - __MACHINE(void *__cdecl memcpy(void * __restrict__ ,const void * __restrict__ ,size_t)) - __MACHINE(void *__cdecl memset(void *,int,size_t)) - __MACHINE(char *__cdecl strcat(char *,const char *)) - __MACHINE(int __cdecl strcmp(const char *,const char *)) - __MACHINE(char *__cdecl strcpy(char * __restrict__ ,const char * __restrict__ )) - __MACHINE(size_t __cdecl strlen(const char *)) - __MACHINECE(int __cdecl strncmp(const char *,const char *,size_t)) - __MACHINECE(char *__cdecl strncpy(char * __restrict__ ,const char * __restrict__ ,size_t)) - __MACHINEIW64(wchar_t *__cdecl wcscat(wchar_t * __restrict__ ,const wchar_t * __restrict__ )) - __MACHINEIW64(int __cdecl wcscmp(const wchar_t *,const wchar_t *)) - __MACHINEIW64(wchar_t *__cdecl wcscpy(wchar_t * __restrict__ ,const wchar_t * __restrict__ )) - __MACHINEIW64(size_t __cdecl wcslen(const wchar_t *)) -#endif - - __MACHINEIA64(__MINGW_EXTENSION void _AcquireSpinLock(unsigned __int64 *)) -#ifdef __GNUC__ -#undef _alloca -#define _alloca(x) __builtin_alloca((x)) -#else - __MACHINE(void *__cdecl _alloca(size_t)) -#endif - __MACHINEIA64(void __break(int)) - __MACHINECE(__MINGW_EXTENSION __int64 __cdecl _abs64(__int64)) - __MACHINE(unsigned short __cdecl _byteswap_ushort(unsigned short value)) - __MACHINE(unsigned __LONG32 __cdecl _byteswap_ulong(unsigned __LONG32 value)) - __MACHINE(__MINGW_EXTENSION unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64 value)) - __MACHINECE(void __CacheRelease(void *)) - __MACHINECE(void __CacheWriteback(void *)) - __MACHINECE(double ceil(double)) - __MACHINECE(__MINGW_EXTENSION double _CopyDoubleFromInt64(__int64)) - __MACHINECE(float _CopyFloatFromInt32(__int32)) - __MACHINECE(__MINGW_EXTENSION __int64 _CopyInt64FromDouble(double)) - __MACHINECE(__int32 _CopyInt32FromFloat(float)) - __MACHINECE(unsigned _CountLeadingOnes(long)) - __MACHINECE(__MINGW_EXTENSION unsigned _CountLeadingOnes64(__int64)) - __MACHINECE(unsigned _CountLeadingSigns(long)) - __MACHINECE(__MINGW_EXTENSION unsigned _CountLeadingSigns64(__int64)) - __MACHINECE(unsigned _CountLeadingZeros(long)) - __MACHINECE(__MINGW_EXTENSION unsigned _CountLeadingZeros64(__int64)) - __MACHINECE(unsigned _CountOneBits(long)) - __MACHINECE(__MINGW_EXTENSION unsigned _CountOneBits64(__int64)) - __MACHINE(void __cdecl __debugbreak(void)) - __MACHINEI(void __cdecl _disable(void)) - __MACHINEIA64(void __cdecl _disable(void)) - __MACHINEIA64(void __dsrlz(void)) - __MACHINEI(__MINGW_EXTENSION __int64 __emul(int,int)) - __MACHINEI(__MINGW_EXTENSION unsigned __int64 __emulu(unsigned int,unsigned int)) - __MACHINEI(void __cdecl _enable(void)) - __MACHINEIA64(void __cdecl _enable(void)) - __MACHINE(void __cdecl __MINGW_ATTRIB_NORETURN __fastfail(unsigned int code)) - __MACHINEIA64(__MINGW_EXTENSION void __fc(__int64)) - __MACHINEIA64(void __fclrf(void)) - __MACHINEIA64(void __fsetc(int,int)) - __MACHINEIA64(void __fwb(void)) - __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __getReg(int)) - __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __getPSP(void)) - __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __getCFS(void)) - __MACHINECE(void __ICacheRefresh(void *)) - __MACHINEIA64(long _InterlockedAdd(long volatile *,long)) - __MACHINEIA64(long _InterlockedAdd_acq(long volatile *,long)) - __MACHINEIA64(long _InterlockedAdd_rel(long volatile *,long)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAdd64(__int64 volatile *,__int64)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAdd64_acq(__int64 volatile *,__int64)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAdd64_rel(__int64 volatile *,__int64)) - /* __MACHINEI(__LONG32 __cdecl _InterlockedDecrement(__LONG32 volatile *)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIA64(long _InterlockedDecrement(long volatile *)) - __MACHINEIA64(long _InterlockedDecrement_acq(long volatile *)) - __MACHINEIA64(long _InterlockedDecrement_rel(long volatile *)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedDecrement64(__int64 volatile *)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedDecrement64_acq(__int64 volatile *)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedDecrement64_rel(__int64 volatile *)) - /* __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedDecrement64(__int64 volatile *)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(__LONG32 _InterlockedExchange(__LONG32 volatile *,__LONG32)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIA64(long _InterlockedExchange(long volatile *,long)) - __MACHINEIA64(long _InterlockedExchange_acq(long volatile *,long)) - __MACHINESA(long WINAPI _InterlockedExchange(long volatile *,long)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchange64(__int64 volatile *,__int64)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchange64_acq(__int64 volatile *,__int64)) - /* __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedExchange64(__int64 volatile *,__int64)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIA64(void *_InterlockedExchangePointer(void *volatile *,void *)) - __MACHINEIA64(void *_InterlockedExchangePointer_acq(void *volatile *,void volatile *)) - /* __MACHINEX64(void *_InterlockedExchangePointer(void *volatile *,void *)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(__LONG32 _InterlockedExchangeAdd(__LONG32 volatile *,__LONG32)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIA64(long _InterlockedExchangeAdd(long volatile *,long)) - __MACHINEIA64(long _InterlockedExchangeAdd_acq(long volatile *,long)) - __MACHINEIA64(long _InterlockedExchangeAdd_rel(long volatile *,long)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64(__int64 volatile *,__int64)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64_acq(__int64 volatile *,__int64)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64_rel(__int64 volatile *,__int64)) - /* __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64(__int64 volatile *,__int64)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(__LONG32 _InterlockedCompareExchange (__LONG32 volatile *,__LONG32,__LONG32)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIA64(long _InterlockedCompareExchange (long volatile *,long,long)) - __MACHINEIA64(long _InterlockedCompareExchange_acq (long volatile *,long,long)) - __MACHINEIA64(long _InterlockedCompareExchange_rel (long volatile *,long,long)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64(__int64 volatile *,__int64,__int64)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64_acq(__int64 volatile *,__int64,__int64)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64_rel(__int64 volatile *,__int64,__int64)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_acq(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_rel(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) - __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) - __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_acq(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) - __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_rel(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) - __MACHINEIA64(void *_InterlockedCompareExchangePointer (void *volatile *,void *,void *)) - __MACHINEIA64(void *_InterlockedCompareExchangePointer_acq (void *volatile *,void *,void *)) - __MACHINEIA64(void *_InterlockedCompareExchangePointer_rel (void *volatile *,void *,void *)) - /* __MACHINEI(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64(__int64 volatile *,__int64,__int64)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(void *_InterlockedCompareExchangePointer (void *volatile *,void *,void *)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(__LONG32 __cdecl _InterlockedIncrement(__LONG32 volatile *)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIA64(long _InterlockedIncrement(long volatile *)) - __MACHINEIA64(long _InterlockedIncrement_acq(long volatile *)) - __MACHINEIA64(long _InterlockedIncrement_rel(long volatile *)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedIncrement64(__int64 volatile *)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedIncrement64_acq(__int64 volatile *)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedIncrement64_rel(__int64 volatile *)) - /* __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedIncrement64(__int64 volatile *)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIW64(__LONG32 _InterlockedOr(__LONG32 volatile *,__LONG32)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIW64(char _InterlockedOr8(char volatile *,char)) - __MACHINEIW64(short _InterlockedOr16(short volatile *,short)) - /* __MACHINEW64(__MINGW_EXTENSION __int64 _InterlockedOr64(__int64 volatile *,__int64)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIA64(long _InterlockedOr_acq(long volatile *,long)) - __MACHINEIA64(char _InterlockedOr8_acq(char volatile *,char)) - __MACHINEIA64(short _InterlockedOr16_acq(short volatile *,short)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedOr64_acq(__int64 volatile *,__int64)) - __MACHINEIA64(long _InterlockedOr_rel(long volatile *,long)) - __MACHINEIA64(char _InterlockedOr8_rel(char volatile *,char)) - __MACHINEIA64(short _InterlockedOr16_rel(short volatile *,short)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedOr64_rel(__int64 volatile *,__int64)) - /* __MACHINEIW64(__LONG32 _InterlockedXor(__LONG32 volatile *,__LONG32)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIW64(char _InterlockedXor8(char volatile *,char)) - __MACHINEIW64(short _InterlockedXor16(short volatile *,short)) - /* __MACHINEW64(__MINGW_EXTENSION __int64 _InterlockedXor64(__int64 volatile *,__int64)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIA64(long _InterlockedXor_acq(long volatile *,long)) - __MACHINEIA64(char _InterlockedXor8_acq(char volatile *,char)) - __MACHINEIA64(short _InterlockedXor16_acq(short volatile *,short)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedXor64_acq(__int64 volatile *,__int64)) - __MACHINEIA64(long _InterlockedXor_rel(long volatile *,long)) - __MACHINEIA64(char _InterlockedXor8_rel(char volatile *,char)) - __MACHINEIA64(short _InterlockedXor16_rel(short volatile *,short)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedXor64_rel(__int64 volatile *,__int64)) - /* __MACHINEIW64(__LONG32 _InterlockedAnd(__LONG32 volatile *,__LONG32)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIW64(char _InterlockedAnd8(char volatile *,char)) - __MACHINEIW64(short _InterlockedAnd16(short volatile *,short)) - /* __MACHINEW64(__MINGW_EXTENSION __int64 _InterlockedAnd64(__int64 volatile *,__int64)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIA64(long _InterlockedAnd_acq(long volatile *,long)) - __MACHINEIA64(char _InterlockedAnd8_acq(char volatile *,char)) - __MACHINEIA64(short _InterlockedAnd16_acq(short volatile *,short)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAnd64_acq(__int64 volatile *,__int64)) - __MACHINEIA64(long _InterlockedAnd_rel(long volatile *,long)) - __MACHINEIA64(char _InterlockedAnd8_rel(char volatile *,char)) - __MACHINEIA64(short _InterlockedAnd16_rel(short volatile *,short)) - __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAnd64_rel(__int64 volatile *,__int64)) - __MACHINEIA32(__MINGW_EXTENSION __LONG32 _InterlockedAddLargeStatistic(__int64 volatile *,__LONG32)) - __MACHINEI(int __cdecl _inp(unsigned short)) - __MACHINEI(int __cdecl inp(unsigned short)) - __MACHINEI(unsigned __LONG32 __cdecl _inpd(unsigned short)) - __MACHINEI(unsigned __LONG32 __cdecl inpd(unsigned short)) - __MACHINEI(unsigned short __cdecl _inpw(unsigned short)) - __MACHINEI(unsigned short __cdecl inpw(unsigned short)) - __MACHINEIA64(int __isNat(int)) - __MACHINEIA64(void __isrlz(void)) - __MACHINEIA64(void __invalat(void)) - __MACHINECE(int _isnan(double)) - __MACHINECE(int _isnanf(float)) - __MACHINECE(int _isunordered(double,double)) - __MACHINECE(int _isunorderedf(float,float)) - __MACHINEIA64(void __lfetch(int,void const *)) - __MACHINEIA64(void __lfetchfault(int,void const *)) - __MACHINEIA64(void __lfetch_excl(int,void const *)) - __MACHINEIA64(void __lfetchfault_excl(int,void const *)) - __MACHINEIA64(__MINGW_EXTENSION __int64 __load128(void *,__int64 *)) - __MACHINEIA64(__MINGW_EXTENSION __int64 __load128_acq(void *,__int64 *)) - __MACHINEZ(void __cdecl longjmp(jmp_buf,int)) - - /* __MACHINE(unsigned long __cdecl _lrotl(unsigned long,int)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINE(unsigned long __cdecl _lrotr(unsigned long,int)) moved to psdk_inc/intrin-impl.h */ - - __MACHINEI(__MINGW_EXTENSION unsigned __int64 __ll_lshift(unsigned __int64,int)) - __MACHINEI(__MINGW_EXTENSION __int64 __ll_rshift(__int64,int)) - __MACHINEIA64(__m64 __m64_czx1l(__m64)) - __MACHINEIA64(__m64 __m64_czx1r(__m64)) - __MACHINEIA64(__m64 __m64_czx2l(__m64)) - __MACHINEIA64(__m64 __m64_czx2r(__m64)) - __MACHINEIA64(__m64 __m64_dep_mi(const int,__m64,const int,const int)) - __MACHINEIA64(__m64 __m64_dep_mr(__m64,__m64,const int,const int)) - __MACHINEIA64(__m64 __m64_dep_zi(const int,const int,const int)) - __MACHINEIA64(__m64 __m64_dep_zr(__m64,const int,const int)) - __MACHINEIA64(__m64 __m64_extr(__m64,const int,const int)) - __MACHINEIA64(__m64 __m64_extru(__m64,const int,const int)) - __MACHINEIA64(__m64 __m64_mix1l(__m64,__m64)) - __MACHINEIA64(__m64 __m64_mix1r(__m64,__m64)) - __MACHINEIA64(__m64 __m64_mix2l(__m64,__m64)) - __MACHINEIA64(__m64 __m64_mix2r(__m64,__m64)) - __MACHINEIA64(__m64 __m64_mix4l(__m64,__m64)) - __MACHINEIA64(__m64 __m64_mix4r(__m64,__m64)) - __MACHINEIA64(__m64 __m64_mux1(__m64,const int)) - __MACHINEIA64(__m64 __m64_mux2(__m64,const int)) - __MACHINEIA64(__m64 __m64_muladd64hi(__m64,__m64,__m64)) - __MACHINEIA64(__m64 __m64_muladd64hi_u(__m64,__m64,__m64)) - __MACHINEIA64(__m64 __m64_muladd64lo(__m64,__m64,__m64)) - __MACHINEIA64(__m64 __m64_padd1uus(__m64,__m64)) - __MACHINEIA64(__m64 __m64_padd2uus(__m64,__m64)) - __MACHINEIA64(__m64 __m64_pavg1_nraz(__m64,__m64)) - __MACHINEIA64(__m64 __m64_pavg2_nraz(__m64,__m64)) - __MACHINEIA64(__m64 __m64_pavgsub1(__m64,__m64)) - __MACHINEIA64(__m64 __m64_pavgsub2(__m64,__m64)) - __MACHINEIA64(__m64 __m64_pmpy2l(__m64,__m64)) - __MACHINEIA64(__m64 __m64_pmpy2r(__m64,__m64)) - __MACHINEIA64(__m64 __m64_pmpyshr2(__m64,__m64,const int)) - __MACHINEIA64(__m64 __m64_pmpyshr2u(__m64,__m64,const int)) - __MACHINEIA64(__m64 __m64_popcnt(__m64)) - __MACHINEIA64(__m64 __m64_pshladd2(__m64,const int,__m64)) - __MACHINEIA64(__m64 __m64_pshradd2(__m64,const int,__m64)) - __MACHINEIA64(__m64 __m64_psub1uus(__m64,__m64)) - __MACHINEIA64(__m64 __m64_psub2uus(__m64,__m64)) - __MACHINEIA64(__m64 __m64_shladd(__m64,const int,__m64)) - __MACHINEIA64(__m64 __m64_shrp(__m64,__m64,const int)) - __MACHINEIA64(void __mf(void)) - __MACHINEIA64(void __mfa(void)) - __MACHINECE(long _MulHigh(long,long)) - __MACHINECE(unsigned long _MulUnsignedHigh (unsigned long,unsigned long)) - __MACHINEI(int __cdecl _outp(unsigned short,int)) - __MACHINEI(int __cdecl outp(unsigned short,int)) - __MACHINEI(unsigned __LONG32 __cdecl _outpd(unsigned short,unsigned __LONG32)) - __MACHINEI(unsigned __LONG32 __cdecl outpd(unsigned short,unsigned __LONG32)) - __MACHINEI(unsigned short __cdecl _outpw(unsigned short,unsigned short)) - __MACHINEI(unsigned short __cdecl outpw(unsigned short,unsigned short)) - __MACHINECE(void __cdecl __prefetch(unsigned long *addr)) - __MACHINEARM_ARM64(void __cdecl __prefetch(const void *addr)) - __MACHINEIA64(__MINGW_EXTENSION void __ptcl(__int64,__int64)) - __MACHINEIA64(__MINGW_EXTENSION void __ptcg(__int64,__int64)) - __MACHINEIA64(__MINGW_EXTENSION void __ptcga(__int64,__int64)) - __MACHINEIA64(__MINGW_EXTENSION void __ptrd(__int64,__int64)) - __MACHINEIA64(__MINGW_EXTENSION void __ptri(__int64,__int64)) - __MACHINEIA64(void *_rdteb(void)) - __MACHINESA(int _ReadStatusReg(int)) - /* __MACHINECE(void _ReadWriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIA64(__MINGW_EXTENSION void _ReleaseSpinLock(unsigned __int64 *)) - __MACHINEI(void *_ReturnAddress(void)) - __MACHINEIA64(void *_ReturnAddress(void)) - __MACHINESA(void *_ReturnAddress(void)) - __MACHINECE(void *_ReturnAddress(void)) -#pragma push_macro ("_rotl") -#undef _rotl - __MACHINE(unsigned int __cdecl _rotl(unsigned int,int)) -#pragma pop_macro ("_rotl") -#pragma push_macro ("_rotr") -#undef _rotr - __MACHINE(unsigned int __cdecl _rotr(unsigned int,int)) -#pragma pop_macro ("_rotr") -#undef _rotl64 -#undef _rotr64 - __MACHINE(__MINGW_EXTENSION unsigned __int64 __cdecl _rotl64(unsigned __int64,int)) - __MACHINE(__MINGW_EXTENSION unsigned __int64 __cdecl _rotr64(unsigned __int64,int)) -#define _rotl64 __rolq -#define _rotr64 __rorq - __MACHINEIA64(void __rsm(int)) - __MACHINEIA64(void __rum(int)) -#ifndef __CYGWIN__ -#ifndef USE_NO_MINGW_SETJMP_TWO_ARGS - __MACHINEIA32(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf)) - __MACHINEX64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf,void *)) - __MACHINEIA64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf,void *)) - __MACHINEX64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf,void *)) -#else - __MACHINE(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf)) - __MACHINEIA64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf)) - __MACHINEX64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf)) -#endif -#endif - __MACHINEIA64(__MINGW_EXTENSION void __setReg(int,unsigned __int64)) - __MACHINEARMX(void _SmulAdd_SL_ACC(int,int)) - __MACHINEARMX(void _SmulAddPack_2SW_ACC(int,int)) - __MACHINEARMX(void _SmulAddLo_SW_ACC(int,int)) - __MACHINEARMX(void _SmulAddHi_SW_ACC(int,int)) - __MACHINEARMX(void _SmulAddHiLo_SW_ACC(int,int)) - __MACHINEARMX(void _SmulAddLoHi_SW_ACC(int,int)) - __MACHINEIA64(__MINGW_EXTENSION void __store128(void *,__int64,__int64)) - __MACHINEIA64(__MINGW_EXTENSION void __store128_rel(void *,__int64,__int64)) - __MACHINE(char *__cdecl _strset(char *,int)) - __MACHINE(char *__cdecl strset(char *,int)) - __MACHINEIA64(void __ssm(int)) - __MACHINEIA64(void __sum(int)) - __MACHINESA(int __swi(unsigned,...)) - __MACHINEIA64(void __synci(void)) - __MACHINEIA64(__MINGW_EXTENSION __int64 __thash(__int64)) - __MACHINEIA64(__MINGW_EXTENSION __int64 __ttag(__int64)) - __MACHINECE(int __trap(int,...)) - __MACHINEI(__MINGW_EXTENSION unsigned __int64 __ull_rshift(unsigned __int64,int)) - __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __UMULH(unsigned __int64 a,unsigned __int64 b)) - __MACHINECE(wchar_t *__cdecl wcscat(wchar_t * __restrict__ ,const wchar_t * __restrict__ )) - __MACHINECE(int __cdecl wcscmp(const wchar_t *,const wchar_t *)) - __MACHINECE(wchar_t *__cdecl wcscpy(wchar_t * __restrict__ ,const wchar_t * __restrict__ )) - __MACHINECE(size_t __cdecl wcslen(const wchar_t *)) - __MACHINECE(int __cdecl wcsncmp(const wchar_t *,const wchar_t *,size_t)) - __MACHINECE(wchar_t *__cdecl wcsncpy(wchar_t * __restrict__ ,const wchar_t * __restrict__ ,size_t)) - __MACHINECE(wchar_t *__cdecl _wcsset(wchar_t *,wchar_t)) - /* __MACHINECE(void _WriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ - __MACHINESA(void _WriteStatusReg(int,int,int)) - __MACHINEI(void *_AddressOfReturnAddress(void)) - __MACHINEIA64(void __yield(void)) - __MACHINEIA64(void __fci(void*)) - -#if !defined(__GNUC__) || (!defined(__MMX__) && !defined(__MINGW_FORCE_SYS_INTRINS)) - __MACHINEX86X_NOX64(void _m_empty(void)) - __MACHINEX86X_NOX64(__m64 _m_from_int(int)) - __MACHINEX86X_NOX64(int _m_to_int(__m64)) - __MACHINEX86X_NOX64(__m64 _m_packsswb(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_packssdw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_packuswb(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_punpckhbw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_punpckhwd(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_punpckhdq(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_punpcklbw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_punpcklwd(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_punpckldq(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_paddb(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_paddw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_paddd(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_paddsb(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_paddsw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_paddusb(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_paddusw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psubb(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psubw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psubd(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psubsb(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psubsw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psubusb(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psubusw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pmaddwd(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pmulhw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pmullw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psllw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psllwi(__m64,int)) - __MACHINEX86X_NOX64(__m64 _m_pslld(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pslldi(__m64,int)) - __MACHINEX86X_NOX64(__m64 _m_psllq(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psllqi(__m64,int)) - __MACHINEX86X_NOX64(__m64 _m_psraw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psrawi(__m64,int)) - __MACHINEX86X_NOX64(__m64 _m_psrad(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psradi(__m64,int)) - __MACHINEX86X_NOX64(__m64 _m_psrlw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psrlwi(__m64,int)) - __MACHINEX86X_NOX64(__m64 _m_psrld(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psrldi(__m64,int)) - __MACHINEX86X_NOX64(__m64 _m_psrlq(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psrlqi(__m64,int)) - __MACHINEX86X_NOX64(__m64 _m_pand(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pandn(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_por(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pxor(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pcmpeqb(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pcmpeqw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pcmpeqd(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pcmpgtb(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pcmpgtw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pcmpgtd(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _mm_setzero_si64(void)) - __MACHINEX86X_NOX64(__m64 _mm_set_pi32(int,int)) - __MACHINEX86X_NOX64(__m64 _mm_set_pi16(short,short,short,short)) - __MACHINEX86X_NOX64(__m64 _mm_set_pi8(char,char,char,char,char,char,char,char)) - __MACHINEX86X_NOX64(__m64 _mm_set1_pi32(int)) - __MACHINEX86X_NOX64(__m64 _mm_set1_pi16(short)) - __MACHINEX86X_NOX64(__m64 _mm_set1_pi8(char)) - __MACHINEX86X_NOX64(__m64 _mm_setr_pi32(int,int)) - __MACHINEX86X_NOX64(__m64 _mm_setr_pi16(short,short,short,short)) - __MACHINEX86X_NOX64(__m64 _mm_setr_pi8(char,char,char,char,char,char,char,char)) -#endif -#if !defined(__GNUC__) || (!defined(__SSE__) && !defined(__MINGW_FORCE_SYS_INTRINS)) -#pragma push_macro ("_m_pextrw") -#undef _m_pextrw - __MACHINEX86X_NOX64(int _m_pextrw(__m64,int)) - __MACHINECC(__MINGW_EXTENSION int _m_pextrw(unsigned __int64 m1,const int c)) -#pragma pop_macro ("_m_pextrw") -#pragma push_macro ("_m_pinsrw") -#undef _m_pinsrw - __MACHINEX86X_NOX64(__m64 _m_pinsrw(__m64,int,int)) -#pragma pop_macro ("_m_pinsrw") - __MACHINEX86X_NOX64(__m64 _m_pmaxsw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pmaxub(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pminsw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pminub(__m64,__m64)) - __MACHINEX86X_NOX64(int _m_pmovmskb(__m64)) - __MACHINEX86X_NOX64(__m64 _m_pmulhuw(__m64,__m64)) -#pragma push_macro ("_m_pshufw") -#undef _m_pshufw - __MACHINEX86X_NOX64(__m64 _m_pshufw(__m64,int)) -#pragma pop_macro ("_m_pshufw") - __MACHINEX86X_NOX64(void _m_maskmovq(__m64,__m64,char*)) - __MACHINEX86X_NOX64(__m64 _m_pavgb(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_pavgw(__m64,__m64)) - __MACHINEX86X_NOX64(__m64 _m_psadbw(__m64,__m64)) -#endif -#if !defined(__GNUC__) || (!defined(__SSE__) && !defined(__MINGW_FORCE_SYS_INTRINS)) - __MACHINEX86X_NOIA64(__m128 _mm_add_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_add_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_sub_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_sub_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_mul_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_mul_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_div_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_div_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_sqrt_ss(__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_sqrt_ps(__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_rcp_ss(__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_rcp_ps(__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_rsqrt_ss(__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_rsqrt_ps(__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_min_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_min_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_max_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_max_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_and_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_andnot_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_or_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_xor_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpeq_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpeq_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmplt_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmplt_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmple_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmple_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpgt_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpgt_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpge_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpge_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpneq_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpneq_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpnlt_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpnlt_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpnle_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpnle_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpngt_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpngt_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpnge_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpnge_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpord_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpord_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpunord_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cmpunord_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_comieq_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_comilt_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_comile_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_comigt_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_comige_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_comineq_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_ucomieq_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_ucomilt_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_ucomile_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_ucomigt_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_ucomige_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_ucomineq_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(int _mm_cvt_ss2si(__m128)) - __MACHINEX86X_NOWIN64(__m64 _mm_cvt_ps2pi(__m128)) - __MACHINEX86X_NOIA64(int _mm_cvtt_ss2si(__m128)) - __MACHINEX86X_NOWIN64(__m64 _mm_cvtt_ps2pi(__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_cvt_si2ss(__m128,int)) - __MACHINEX86X_NOWIN64(__m128 _mm_cvt_pi2ps(__m128,__m64)) -#pragma push_macro ("_mm_shuffle_ps") -#undef _mm_shuffle_ps - __MACHINEX86X_NOIA64(__m128 _mm_shuffle_ps(__m128,__m128,int const)) -#pragma pop_macro ("_mm_shuffle_ps") - __MACHINEX86X_NOIA64(__m128 _mm_unpackhi_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_unpacklo_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_loadh_pi(__m128,__m64 const*)) - __MACHINEX86X_NOIA64(void _mm_storeh_pi(__m64*,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_loadl_pi(__m128,__m64 const*)) - __MACHINEX86X_NOIA64(void _mm_storel_pi(__m64*,__m128)) - __MACHINEX86X_NOIA64(int _mm_movemask_ps(__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_set_ss(float)) - __MACHINEX86X_NOIA64(__m128 _mm_set_ps1(float)) - __MACHINEX86X_NOIA64(__m128 _mm_set_ps(float,float,float,float)) - __MACHINEX86X_NOIA64(__m128 _mm_setr_ps(float,float,float,float)) - __MACHINEX86X_NOIA64(__m128 _mm_setzero_ps(void)) - __MACHINEX86X_NOIA64(__m128 _mm_load_ss(float const*)) - __MACHINEX86X_NOIA64(__m128 _mm_load_ps1(float const*)) - __MACHINEX86X_NOIA64(__m128 _mm_load_ps(float const*)) - __MACHINEX86X_NOIA64(__m128 _mm_loadr_ps(float const*)) - __MACHINEX86X_NOIA64(__m128 _mm_loadu_ps(float const*)) - __MACHINEX86X_NOIA64(__m128 _mm_move_ss(__m128,__m128)) - __MACHINEX86X_NOIA64(void _mm_store_ss(float*,__m128)) - __MACHINEX86X_NOIA64(void _mm_store_ps1(float*,__m128)) - __MACHINEX86X_NOIA64(void _mm_store_ps(float*,__m128)) - __MACHINEX86X_NOIA64(void _mm_storer_ps(float*,__m128)) - __MACHINEX86X_NOIA64(void _mm_storeu_ps(float*,__m128)) -/* __MACHINEX86X_NOIA64(void _mm_prefetch(char const*,int)) */ - __MACHINEX86X_NOWIN64(void _mm_stream_pi(__m64*,__m64)) - __MACHINEX86X_NOIA64(void _mm_stream_ps(float*,__m128)) - __MACHINEX86X_NOIA64(void _mm_sfence(void)) - __MACHINEX86X_NOIA64(unsigned int _mm_getcsr(void)) - __MACHINEX86X_NOIA64(void _mm_setcsr(unsigned int)) - __MACHINEX86X_NOIA64(__m128 _mm_movelh_ps(__m128,__m128)) - __MACHINEX86X_NOIA64(__m128 _mm_movehl_ps(__m128,__m128)) -#endif -#if !defined(__GNUC__) || (!defined(__3dNOW__) && !defined(__MINGW_FORCE_SYS_INTRINS)) - __MACHINEX86X_NOWIN64(__m64 _m_from_float(float)) - __MACHINEX86X_NOWIN64(float _m_to_float(__m64)) - __MACHINEX86X_NOIA64(void _m_prefetch(void*)) - __MACHINEX86X_NOIA64(void _m_prefetchw(void*_Source)) - __MACHINEX86X_NOWIN64(void _m_femms(void)) - __MACHINEX86X_NOWIN64(__m64 _m_pavgusb(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pf2id(__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfacc(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfadd(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfcmpeq(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfcmpge(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfcmpgt(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfmax(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfmin(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfmul(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfrcp(__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfrcpit1(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfrcpit2(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfrsqrt(__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfrsqit1(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfsub(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfsubr(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pi2fd(__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pmulhrw(__m64,__m64)) -#endif - __MACHINEX86X_NOWIN64(__m64 _m_pf2iw(__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfnacc(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pfpnacc(__m64,__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pi2fw(__m64)) - __MACHINEX86X_NOWIN64(__m64 _m_pswapd(__m64)) -#if !defined(__GNUC__) || (!defined(__SSE2__) && !defined(__MINGW_FORCE_SYS_INTRINS)) - __MACHINEX86X(__m128d _mm_add_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_add_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_div_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_div_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_max_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_max_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_min_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_min_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_mul_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_mul_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_sqrt_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_sqrt_pd(__m128d)) - __MACHINEX86X(__m128d _mm_sub_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_sub_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_and_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_andnot_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_or_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_xor_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpeq_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpeq_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmplt_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmplt_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmple_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmple_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpgt_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpgt_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpge_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpge_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpneq_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpneq_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpnlt_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpnlt_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpnle_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpnle_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpngt_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpngt_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpnge_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpnge_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpord_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpord_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpunord_sd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_cmpunord_pd(__m128d,__m128d)) - __MACHINEX86X(int _mm_comieq_sd(__m128d,__m128d)) - __MACHINEX86X(int _mm_comilt_sd(__m128d,__m128d)) - __MACHINEX86X(int _mm_comile_sd(__m128d,__m128d)) - __MACHINEX86X(int _mm_comigt_sd(__m128d,__m128d)) - __MACHINEX86X(int _mm_comige_sd(__m128d,__m128d)) - __MACHINEX86X(int _mm_comineq_sd(__m128d,__m128d)) - __MACHINEX86X(int _mm_ucomieq_sd(__m128d,__m128d)) - __MACHINEX86X(int _mm_ucomilt_sd(__m128d,__m128d)) - __MACHINEX86X(int _mm_ucomile_sd(__m128d,__m128d)) - __MACHINEX86X(int _mm_ucomigt_sd(__m128d,__m128d)) - __MACHINEX86X(int _mm_ucomige_sd(__m128d,__m128d)) - __MACHINEX86X(int _mm_ucomineq_sd(__m128d,__m128d)) - __MACHINEX86X(__m128 _mm_cvtpd_ps(__m128d)) - __MACHINEX86X(__m128d _mm_cvtps_pd(__m128)) - __MACHINEX86X(__m128d _mm_cvtepi32_pd(__m128i)) - __MACHINEX86X(__m128i _mm_cvtpd_epi32(__m128d)) - __MACHINEX86X(int _mm_cvtsd_si32(__m128d)) - __MACHINEX86X(__m128 _mm_cvtsd_ss(__m128,__m128d)) - __MACHINEX86X(__m128d _mm_cvtsi32_sd(__m128d,int)) - __MACHINEX86X(__m128d _mm_cvtss_sd(__m128d,__m128)) - __MACHINEX86X(__m128i _mm_cvttpd_epi32(__m128d)) - __MACHINEX86X(int _mm_cvttsd_si32(__m128d)) - __MACHINEX86X(__m128 _mm_cvtepi32_ps(__m128i)) - __MACHINEX86X(__m128i _mm_cvtps_epi32(__m128)) - __MACHINEX86X(__m128i _mm_cvttps_epi32(__m128)) - __MACHINEX86X_NOX64(__m64 _mm_cvtpd_pi32(__m128d)) - __MACHINEX86X_NOX64(__m64 _mm_cvttpd_pi32(__m128d)) - __MACHINEX86X_NOX64(__m128d _mm_cvtpi32_pd(__m64)) - __MACHINEX86X(__m128d _mm_unpackhi_pd(__m128d,__m128d)) - __MACHINEX86X(__m128d _mm_unpacklo_pd(__m128d,__m128d)) - __MACHINEX86X(int _mm_movemask_pd(__m128d)) - /* __MACHINEX86X(__m128d _mm_shuffle_pd(__m128d,__m128d,int)) */ - __MACHINEX86X(__m128d _mm_load_pd(double const*)) - __MACHINEX86X(__m128d _mm_load1_pd(double const*)) - __MACHINEX86X(__m128d _mm_loadr_pd(double const*)) - __MACHINEX86X(__m128d _mm_loadu_pd(double const*)) - __MACHINEX86X(__m128d _mm_load_sd(double const*)) - __MACHINEX86X(__m128d _mm_loadh_pd(__m128d,double const*)) - __MACHINEX86X(__m128d _mm_loadl_pd(__m128d,double const*)) - __MACHINEX86X(__m128d _mm_set_sd(double)) - __MACHINEX86X(__m128d _mm_set1_pd(double)) - __MACHINEX86X(__m128d _mm_set_pd(double,double)) - __MACHINEX86X(__m128d _mm_setr_pd(double,double)) - __MACHINEX86X(__m128d _mm_setzero_pd(void)) - __MACHINEX86X(__m128d _mm_move_sd(__m128d,__m128d)) - __MACHINEX86X(void _mm_store_sd(double*,__m128d)) - __MACHINEX86X(void _mm_store1_pd(double*,__m128d)) - __MACHINEX86X(void _mm_store_pd(double*,__m128d)) - __MACHINEX86X(void _mm_storeu_pd(double*,__m128d)) - __MACHINEX86X(void _mm_storer_pd(double*,__m128d)) - __MACHINEX86X(void _mm_storeh_pd(double*,__m128d)) - __MACHINEX86X(void _mm_storel_pd(double*,__m128d)) - __MACHINEX86X(__m128i _mm_add_epi8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_add_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_add_epi32(__m128i,__m128i)) -#endif - -#if !defined(__GNUC__) || (!defined(__MMX__) && !defined(__MINGW_FORCE_SYS_INTRINS)) - __MACHINEX86X_NOX64(__m64 _mm_add_si64(__m64,__m64)) -#endif - -#if !defined(__GNUC__) || (!defined(__SSE2__) && !defined(__MINGW_FORCE_SYS_INTRINS)) - __MACHINEX86X(__m128i _mm_add_epi64(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_adds_epi8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_adds_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_adds_epu8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_adds_epu16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_avg_epu8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_avg_epu16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_madd_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_max_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_max_epu8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_min_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_min_epu8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_mulhi_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_mulhi_epu16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_mullo_epi16(__m128i,__m128i)) - __MACHINEX86X_NOX64(__m64 _mm_mul_su32(__m64,__m64)) - __MACHINEX86X(__m128i _mm_mul_epu32(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_sad_epu8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_sub_epi8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_sub_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_sub_epi32(__m128i,__m128i)) -#endif -#if !defined(__GNUC__) || (!defined(__MMX__) && !defined(__MINGW_FORCE_SYS_INTRINS)) - __MACHINEX86X_NOX64(__m64 _mm_sub_si64(__m64,__m64)) -#endif -#if !defined(__GNUC__) || (!defined(__SSE2__) && !defined(__MINGW_FORCE_SYS_INTRINS)) - __MACHINEX86X(__m128i _mm_sub_epi64(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_subs_epi8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_subs_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_subs_epu8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_subs_epu16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_andnot_si128(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_and_si128(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_or_si128(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_xor_si128(__m128i,__m128i)) - /* __MACHINEX86X(__m128i _mm_slli_si128(__m128i,int)) */ -/* __MACHINEX86X(__m128i _mm_slli_epi16(__m128i,int)) */ - __MACHINEX86X(__m128i _mm_sll_epi16(__m128i,__m128i)) -/* __MACHINEX86X(__m128i _mm_slli_epi32(__m128i,int)) */ - __MACHINEX86X(__m128i _mm_sll_epi32(__m128i,__m128i)) -/* __MACHINEX86X(__m128i _mm_slli_epi64(__m128i,int)) */ - __MACHINEX86X(__m128i _mm_sll_epi64(__m128i,__m128i)) -/* __MACHINEX86X(__m128i _mm_srai_epi16(__m128i,int)) */ - __MACHINEX86X(__m128i _mm_sra_epi16(__m128i,__m128i)) -/* __MACHINEX86X(__m128i _mm_srai_epi32(__m128i,int)) */ - __MACHINEX86X(__m128i _mm_sra_epi32(__m128i,__m128i)) - /* __MACHINEX86X(__m128i _mm_srli_si128(__m128i,int)) */ -/* __MACHINEX86X(__m128i _mm_srli_epi16(__m128i,int)) */ - __MACHINEX86X(__m128i _mm_srl_epi16(__m128i,__m128i)) -/* __MACHINEX86X(__m128i _mm_srli_epi32(__m128i,int)) */ - __MACHINEX86X(__m128i _mm_srl_epi32(__m128i,__m128i)) -/* __MACHINEX86X(__m128i _mm_srli_epi64(__m128i,int)) */ - __MACHINEX86X(__m128i _mm_srl_epi64(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_cmpeq_epi8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_cmpeq_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_cmpeq_epi32(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_cmpgt_epi8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_cmpgt_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_cmpgt_epi32(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_cmplt_epi8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_cmplt_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_cmplt_epi32(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_cvtsi32_si128(int)) - __MACHINEX86X(int _mm_cvtsi128_si32(__m128i)) - __MACHINEX86X(__m128i _mm_packs_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_packs_epi32(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_packus_epi16(__m128i,__m128i)) - /* __MACHINEX86X(int _mm_extract_epi16(__m128i,int)) */ - /* __MACHINEX86X(__m128i _mm_insert_epi16(__m128i,int,int)) */ - __MACHINEX86X(int _mm_movemask_epi8(__m128i)) - /* __MACHINEX86X(__m128i _mm_shuffle_epi32(__m128i,int)) */ - /* __MACHINEX86X(__m128i _mm_shufflehi_epi16(__m128i,int)) */ - /* __MACHINEX86X(__m128i _mm_shufflelo_epi16(__m128i,int)) */ - __MACHINEX86X(__m128i _mm_unpackhi_epi8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_unpackhi_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_unpackhi_epi32(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_unpackhi_epi64(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_unpacklo_epi8(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_unpacklo_epi16(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_unpacklo_epi32(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_unpacklo_epi64(__m128i,__m128i)) - __MACHINEX86X(__m128i _mm_load_si128(__m128i const*)) - __MACHINEX86X(__m128i _mm_loadu_si128(__m128i const*)) - __MACHINEX86X(__m128i _mm_loadl_epi64(__m128i const*)) - __MACHINEX86X_NOX64(__m128i _mm_set_epi64(__m64,__m64)) - __MACHINEX86X(__m128i _mm_set_epi32(int,int,int,int)) - __MACHINEX86X(__m128i _mm_set_epi16(short,short,short,short,short,short,short,short)) - __MACHINEX86X(__m128i _mm_set_epi8(char,char,char,char,char,char,char,char,char,char,char,char,char,char,char,char)) - __MACHINEX86X_NOX64(__m128i _mm_set1_epi64(__m64)) - __MACHINEX86X(__m128i _mm_set1_epi32(int)) - __MACHINEX86X(__m128i _mm_set1_epi16(short)) - __MACHINEX86X(__m128i _mm_set1_epi8(char)) - __MACHINEX86X(__m128i _mm_setl_epi64(__m128i)) - __MACHINEX86X_NOX64(__m128i _mm_setr_epi64(__m64,__m64)) - __MACHINEX86X(__m128i _mm_setr_epi32(int,int,int,int)) - __MACHINEX86X(__m128i _mm_setr_epi16(short,short,short,short,short,short,short,short)) - __MACHINEX86X(__m128i _mm_setr_epi8(char,char,char,char,char,char,char,char,char,char,char,char,char,char,char,char)) - __MACHINEX86X(__m128i _mm_setzero_si128(void)) - __MACHINEX86X(void _mm_store_si128(__m128i*,__m128i)) - __MACHINEX86X(void _mm_storeu_si128(__m128i*,__m128i)) - __MACHINEX86X(void _mm_storel_epi64(__m128i*,__m128i)) - __MACHINEX86X(void _mm_maskmoveu_si128(__m128i,__m128i,char*)) - __MACHINEX86X(__m128i _mm_move_epi64(__m128i)) - __MACHINEX86X_NOX64(__m128i _mm_movpi64_epi64(__m64)) - __MACHINEX86X_NOX64(__m64 _mm_movepi64_pi64(__m128i)) - __MACHINEX86X(void _mm_stream_pd(double*,__m128d)) - __MACHINEX86X(void _mm_stream_si128(__m128i*,__m128i)) - __MACHINEX86X(void _mm_clflush(void const *)) - __MACHINEX86X(void _mm_lfence(void)) - __MACHINEX86X(void _mm_mfence(void)) - __MACHINEX86X(void _mm_stream_si32(int*,int)) -#endif -#if !defined(__GNUC__) || (!defined(__SSE__) && !defined(__MINGW_FORCE_SYS_INTRINS)) - __MACHINEX86X(void _mm_pause(void)) -#endif -#if !defined(__GNUC__) || (!defined(__SSE3__) && !defined(__MINGW_FORCE_SYS_INTRINS)) - __MACHINEX86X(__m128 _mm_addsub_ps(__m128,__m128)) - __MACHINEX86X(__m128d _mm_addsub_pd(__m128d,__m128d)) - __MACHINEX86X(__m128 _mm_hadd_ps(__m128,__m128)) - __MACHINEX86X(__m128d _mm_hadd_pd(__m128d,__m128d)) - __MACHINEX86X(__m128 _mm_hsub_ps(__m128,__m128)) - __MACHINEX86X(__m128d _mm_hsub_pd(__m128d,__m128d)) - __MACHINEX86X(__m128i _mm_lddqu_si128(__m128i const*)) - __MACHINEX86X(void _mm_monitor(void const*,unsigned int,unsigned int)) - __MACHINEX86X(__m128d _mm_movedup_pd(__m128d)) - __MACHINEX86X(__m128d _mm_loaddup_pd(double const*)) - __MACHINEX86X(__m128 _mm_movehdup_ps(__m128)) - __MACHINEX86X(__m128 _mm_moveldup_ps(__m128)) - __MACHINEX86X(void _mm_mwait(unsigned int,unsigned int)) -#endif - /* __MACHINEI(void _WriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void _ReadWriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA64(void _WriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA64(void _ReadWriteBarrier(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(void __faststorefence(void)) moved to psdk_inc/intrin-impl.h */ - __MACHINEX64(__MINGW_EXTENSION __int64 __mulh(__int64,__int64)) - __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __umulh(unsigned __int64,unsigned __int64)) - /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr0(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr2(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr3(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr4(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr8(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(unsigned __LONG32 __readcr0(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(unsigned __LONG32 __readcr2(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(unsigned __LONG32 __readcr3(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(unsigned __LONG32 __readcr4(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(unsigned __LONG32 __readcr8(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION void __writecr0(unsigned __int64)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION void __writecr3(unsigned __int64)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION void __writecr4(unsigned __int64)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION void __writecr8(unsigned __int64)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(void __writecr0(unsigned)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(void __writecr3(unsigned)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(void __writecr4(unsigned)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(void __writecr8(unsigned)) moved to psdk_inc/intrin-impl.h */ - __MACHINEI(void __wbinvd(void)) - __MACHINEI(void __invlpg(void*)) - /* __MACHINEI(__MINGW_EXTENSION unsigned __int64 __readmsr(unsigned __LONG32)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(__MINGW_EXTENSION void __writemsr(unsigned __LONG32,unsigned __int64)) moved to psdk_inc/intrin-impl.h */ -#ifndef __GNUC__ - __MACHINEIW64(__MINGW_EXTENSION unsigned __int64 __rdtsc(void)) -#endif - /* __MACHINEI(void __movsb(unsigned char *,unsigned char const *,size_t)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __movsw(unsigned short *,unsigned short const *,size_t)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __movsd(unsigned __LONG32 *,unsigned __LONG32 const *,size_t)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION void __movsq(unsigned long long *,unsigned long long const *,size_t)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(unsigned char __readgsbyte(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(unsigned short __readgsword(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(unsigned __LONG32 __readgsdword(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readgsqword(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(void __writegsbyte(unsigned __LONG32 Offset,unsigned char Data)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(void __writegsword(unsigned __LONG32 Offset,unsigned short Data)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(void __writegsdword(unsigned __LONG32 Offset,unsigned __LONG32 Data)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION void __writegsqword(unsigned __LONG32 Offset,unsigned __int64 Data)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(unsigned char __inbyte(unsigned short Port)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(unsigned short __inword(unsigned short Port)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(unsigned __LONG32 __indword(unsigned short Port)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __outbyte(unsigned short Port,unsigned char Data)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __outword(unsigned short Port,unsigned short Data)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __outdword(unsigned short Port,unsigned __LONG32 Data)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __inbytestring(unsigned short Port,unsigned char *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __inwordstring(unsigned short Port,unsigned short *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __indwordstring(unsigned short Port,unsigned __LONG32 *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __outbytestring(unsigned short Port,unsigned char *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __outwordstring(unsigned short Port,unsigned short *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __outdwordstring(unsigned short Port,unsigned __LONG32 *Buffer,unsigned __LONG32 Count)) moved to psdk_inc/intrin-impl.h */ - __MACHINEI(unsigned int __getcallerseflags()) -#if !defined(__GNUC__) || (!defined(__SSE2__) && !defined(__MINGW_FORCE_SYS_INTRINS)) - __MACHINEX64(__MINGW_EXTENSION __m128i _mm_set_epi64x(__int64 i1,__int64 i0)) - __MACHINEX64(__MINGW_EXTENSION __m128i _mm_set1_epi64x(__int64 i)) - __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvtsd_si64x(__m128d a)) - __MACHINEX64(__MINGW_EXTENSION __m128d _mm_cvtsi64x_sd(__m128d a,__int64 b)) - __MACHINEX64(__MINGW_EXTENSION __m128 _mm_cvtsi64x_ss(__m128 a,__int64 b)) - __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvtss_si64x(__m128 a)) - __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvttsd_si64x(__m128d a)) - __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvttss_si64x(__m128 a)) - __MACHINEX64(__MINGW_EXTENSION __m128i _mm_cvtsi64x_si128(__int64 a)) - __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvtsi128_si64x(__m128i a)) -#endif - __MACHINEX64(__MINGW_EXTENSION void _mm_stream_si64x(__int64 *,__int64)) - /* __MACHINEI(void __stosb(unsigned char *,unsigned char,size_t)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __stosw(unsigned short *,unsigned short,size_t)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __stosd(unsigned __LONG32 *,unsigned __LONG32,size_t)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION void __stosq(unsigned __int64 *,unsigned __int64,size_t)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIW64(unsigned char _bittest(__LONG32 const *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIW64(unsigned char _bittestandset(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIW64(unsigned char _bittestandreset(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIW64(unsigned char _bittestandcomplement(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(unsigned char InterlockedBitTestAndSet(volatile __LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(unsigned char InterlockedBitTestAndReset(volatile __LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(unsigned char InterlockedBitTestAndComplement(volatile __LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(unsigned char _interlockedbittestandset(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(unsigned char _interlockedbittestandreset(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(unsigned char _interlockedbittestandcomplement(__LONG32 *a,__LONG32 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEW64(__MINGW_EXTENSION unsigned char _bittest64(__int64 const *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEW64(__MINGW_EXTENSION unsigned char _bittestandset64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEW64(__MINGW_EXTENSION unsigned char _bittestandreset64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEW64(__MINGW_EXTENSION unsigned char _bittestandcomplement64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION unsigned char InterlockedBitTestAndSet64(volatile __int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION unsigned char InterlockedBitTestAndReset64(volatile __int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION unsigned char InterlockedBitTestAndComplement64(volatile __int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION unsigned char _interlockedbittestandset64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION unsigned char _interlockedbittestandreset64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEX64(__MINGW_EXTENSION unsigned char _interlockedbittestandcomplement64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ - __MACHINEI(void __cpuid(int a[4],int b)) - __MACHINEI(__MINGW_EXTENSION unsigned __int64 __readpmc(unsigned __LONG32 a)) - __MACHINEI(unsigned __LONG32 __segmentlimit(unsigned __LONG32 a)) - - /* __MACHINEIA32(unsigned char __readfsbyte(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(unsigned short __readfsword(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(unsigned __LONG32 __readfsdword(unsigned __LONG32 Offset)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(__MINGW_EXTENSION unsigned __int64 __readfsqword(unsigned __LONG32 Offset)) intrinsic doesn't actually exist */ - /* __MACHINEIA32(void __writefsbyte(unsigned __LONG32 Offset,unsigned char Data)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(void __writefsword(unsigned __LONG32 Offset,unsigned short Data)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(void __writefsdword(unsigned __LONG32 Offset,unsigned __LONG32 Data)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIA32(__MINGW_EXTENSION void __writefsqword(unsigned __LONG32 Offset,unsigned __int64 Data)) intrinsic doesn't actually exist */ - - __MACHINE(__MINGW_EXTENSION __int64 __cdecl _abs64(__int64)) - - /* __MACHINEIW64(unsigned char _BitScanForward(unsigned __LONG32 *Index,unsigned __LONG32 Mask)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIW64(unsigned char _BitScanReverse(unsigned __LONG32 *Index,unsigned __LONG32 Mask)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEW64(__MINGW_EXTENSION unsigned char _BitScanForward64(unsigned __LONG32 *Index,unsigned __int64 Mask)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEW64(__MINGW_EXTENSION unsigned char _BitScanReverse64(unsigned __LONG32 *Index,unsigned __int64 Mask)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIW64(_CRTIMP wchar_t *__cdecl _wcsset(wchar_t *,wchar_t)) - /* __MACHINEW64(__MINGW_EXTENSION unsigned __int64 __shiftleft128(unsigned __int64 LowPart,unsigned __int64 HighPart,unsigned char Shift)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEW64(__MINGW_EXTENSION unsigned __int64 __shiftright128(unsigned __int64 LowPart,unsigned __int64 HighPart,unsigned char Shift)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEW64(__MINGW_EXTENSION unsigned __int64 _umul128(unsigned __int64 multiplier,unsigned __int64 multiplicand,unsigned __int64 *highproduct)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEW64(__MINGW_EXTENSION __int64 _mul128(__int64 multiplier,__int64 multiplicand,__int64 *highproduct)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEI(void __int2c(void)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIW64(void _ReadBarrier(void)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIW64(unsigned char _rotr8(unsigned char value,unsigned char shift)) - __MACHINEIW64(unsigned short _rotr16(unsigned short value,unsigned char shift)) - __MACHINEIW64(unsigned char _rotl8(unsigned char value,unsigned char shift)) - __MACHINEIW64(unsigned short _rotl16(unsigned short value,unsigned char shift)) - /* __MACHINEIW64(short _InterlockedIncrement16(short volatile *Addend)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIW64(short _InterlockedDecrement16(short volatile *Addend)) moved to psdk_inc/intrin-impl.h */ - /* __MACHINEIW64(short _InterlockedCompareExchange16(short volatile *Destination,short Exchange,short Comparand)) moved to psdk_inc/intrin-impl.h */ - __MACHINEIA64(short _InterlockedIncrement16_acq(short volatile *Addend)) - __MACHINEIA64(short _InterlockedIncrement16_rel(short volatile *Addend)) - __MACHINEIA64(short _InterlockedDecrement16_acq(short volatile *Addend)) - __MACHINEIA64(short _InterlockedDecrement16_rel(short volatile *Addend)) - __MACHINEIA64(short _InterlockedCompareExchange16_acq(short volatile *Destination,short Exchange,short Comparand)) - __MACHINEIA64(short _InterlockedCompareExchange16_rel(short volatile *Destination,short Exchange,short Comparand)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddsb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddsw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddsd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddusb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddusw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddusd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubsb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubsw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubsd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubusb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubusw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubusd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaddwd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmadduwd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmulhw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmulhuw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmullw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmullw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmacsw(unsigned __int64 m1,unsigned __int64 m2,unsigned __int64 m3)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmacuw(unsigned __int64 m1,unsigned __int64 m2,unsigned __int64 m3)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmacszw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_padduzw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paccb(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paccw(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paccd(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmia(unsigned __int64 m1,int i1,int i0)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiaph(unsigned __int64 m1,int i1,int i0)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiabb(unsigned __int64 m1,int i1,int i0)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiabt(unsigned __int64 m1,int i1,int i0)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiatb(unsigned __int64 m1,int i1,int i0)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiatt(unsigned __int64 m1,int i1,int i0)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllw(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllwi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pslld(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pslldi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllq(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllqi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psraw(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrawi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrad(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psradi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psraq(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psraqi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlw(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlwi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrld(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrldi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlq(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlqi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorw(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorwi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prord(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prordi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorq(unsigned __int64 m1,unsigned __int64 count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorqi(unsigned __int64 m1,int count)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pand(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pandn(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_por(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pxor(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpeqb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpeqw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpeqd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtub(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtuw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtud(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packsswb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packssdw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packssqd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packuswb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packusdw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packusqd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckhbw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckhwd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckhdq(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpcklbw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpcklwd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckldq(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehsbw(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehswd(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehsdq(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehubw(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehuwd(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehudq(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelsbw(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelswd(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelsdq(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelubw(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckeluwd(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckeludq(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setzero_si64()) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set_pi32(int i1,int i0)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set_pi16(short s3,short s2,short s1,short s0)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set_pi8(char b7,char b6,char b5,char b4,char b3,char b2,char b1,char b0)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set1_pi32(int i)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set1_pi16(short s)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set1_pi8(char b)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setr_pi32(int i1,int i0)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setr_pi16(short s3,short s2,short s1,short s0)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setr_pi8(char b7,char b6,char b5,char b4,char b3,char b2,char b1,char b0)) - __MACHINECC(void _mm_setwcx(int i1,int i0)) - __MACHINECC(int _mm_getwcx(int i)) - __MACHINECC(__MINGW_EXTENSION int _m_pextrb(unsigned __int64 m1,const int c)) - __MACHINECC(__MINGW_EXTENSION int _m_pextrd(unsigned __int64 m1,const int c)) - __MACHINECC(__MINGW_EXTENSION unsigned int _m_pextrub(unsigned __int64 m1,const int c)) - __MACHINECC(__MINGW_EXTENSION unsigned int _m_pextruw(unsigned __int64 m1,const int c)) - __MACHINECC(__MINGW_EXTENSION unsigned int _m_pextrud(unsigned __int64 m1,const int c)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pinsrb(unsigned __int64 m1,int i,const int c)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pinsrw(unsigned __int64 m1,int i,const int c)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pinsrd(unsigned __int64 m1,int i,const int c)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxsb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxsw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxsd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxub(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxuw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxud(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminsb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminsw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminsd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminub(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminuw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminud(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION int _m_pmovmskb(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION int _m_pmovmskw(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION int _m_pmovmskd(unsigned __int64 m1)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pshufw(unsigned __int64 m1,int i)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavgb(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavgw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavg2b(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavg2w(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadbw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadwd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadzbw(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadzwd(unsigned __int64 m1,unsigned __int64 m2)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paligniq(unsigned __int64 m1,unsigned __int64 m2,int i)) - __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_cvt_si2pi(__int64 i)) - __MACHINECC(__MINGW_EXTENSION __int64 _m_cvt_pi2si(unsigned __int64 m1)) - __MACHINEIW64(void __nvreg_save_fence(void)) - __MACHINEIW64(void __nvreg_restore_fence(void)) - - __MACHINEX64(short _InterlockedCompareExchange16_np(short volatile *Destination,short Exchange,short Comparand)) - __MACHINEX64(__LONG32 _InterlockedCompareExchange_np (__LONG32 *,__LONG32,__LONG32)) - __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64_np(__int64 *,__int64,__int64)) - __MACHINEX64(void *_InterlockedCompareExchangePointer_np (void **,void *,void *)) - __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) - __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_acq_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) - __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_rel_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand)) - __MACHINEX64(__LONG32 _InterlockedAnd_np(__LONG32 *,__LONG32)) - __MACHINEX64(char _InterlockedAnd8_np(char *,char)) - __MACHINEX64(short _InterlockedAnd16_np(short *,short)) - __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedAnd64_np(__int64 *,__int64)) - __MACHINEX64(__LONG32 _InterlockedOr_np(__LONG32 *,__LONG32)) - __MACHINEX64(char _InterlockedOr8_np(char *,char)) - __MACHINEX64(short _InterlockedOr16_np(short *,short)) - __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedOr64_np(__int64 *,__int64)) - __MACHINEX64(__LONG32 _InterlockedXor_np(__LONG32 *,__LONG32)) - __MACHINEX64(char _InterlockedXor8_np(char *,char)) - __MACHINEX64(short _InterlockedXor16_np(short *,short)) - __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedXor64_np(__int64 *,__int64)) - -#if defined(__ia64__) - -#define __REG_IA64_Ip 1016 - -#define __REG_IA64_IntR0 1024 -#define __REG_IA64_IntR1 1025 -#define __REG_IA64_IntR2 1026 -#define __REG_IA64_IntR3 1027 -#define __REG_IA64_IntR4 1028 -#define __REG_IA64_IntR5 1029 -#define __REG_IA64_IntR6 1030 -#define __REG_IA64_IntR7 1031 -#define __REG_IA64_IntR8 1032 -#define __REG_IA64_IntR9 1033 -#define __REG_IA64_IntR10 1034 -#define __REG_IA64_IntR11 1035 -#define __REG_IA64_IntR12 1036 -#define __REG_IA64_IntR13 1037 -#define __REG_IA64_IntR14 1038 -#define __REG_IA64_IntR15 1039 -#define __REG_IA64_IntR16 1040 -#define __REG_IA64_IntR17 1041 -#define __REG_IA64_IntR18 1042 -#define __REG_IA64_IntR19 1043 -#define __REG_IA64_IntR20 1044 -#define __REG_IA64_IntR21 1045 -#define __REG_IA64_IntR22 1046 -#define __REG_IA64_IntR23 1047 -#define __REG_IA64_IntR24 1048 -#define __REG_IA64_IntR25 1049 -#define __REG_IA64_IntR26 1050 -#define __REG_IA64_IntR27 1051 -#define __REG_IA64_IntR28 1052 -#define __REG_IA64_IntR29 1053 -#define __REG_IA64_IntR30 1054 -#define __REG_IA64_IntR31 1055 - -#define __REG_IA64_IntR32 1056 -#define __REG_IA64_IntR33 1057 -#define __REG_IA64_IntR34 1058 -#define __REG_IA64_IntR35 1059 -#define __REG_IA64_IntR36 1060 -#define __REG_IA64_IntR37 1061 -#define __REG_IA64_IntR38 1062 -#define __REG_IA64_IntR39 1063 -#define __REG_IA64_IntR40 1064 -#define __REG_IA64_IntR41 1065 -#define __REG_IA64_IntR42 1066 -#define __REG_IA64_IntR43 1067 -#define __REG_IA64_IntR44 1068 -#define __REG_IA64_IntR45 1069 -#define __REG_IA64_IntR46 1070 -#define __REG_IA64_IntR47 1071 -#define __REG_IA64_IntR48 1072 -#define __REG_IA64_IntR49 1073 -#define __REG_IA64_IntR50 1074 -#define __REG_IA64_IntR51 1075 -#define __REG_IA64_IntR52 1076 -#define __REG_IA64_IntR53 1077 -#define __REG_IA64_IntR54 1078 -#define __REG_IA64_IntR55 1079 -#define __REG_IA64_IntR56 1080 -#define __REG_IA64_IntR57 1081 -#define __REG_IA64_IntR58 1082 -#define __REG_IA64_IntR59 1083 -#define __REG_IA64_IntR60 1084 -#define __REG_IA64_IntR61 1085 -#define __REG_IA64_IntR62 1086 -#define __REG_IA64_IntR63 1087 -#define __REG_IA64_IntR64 1088 -#define __REG_IA64_IntR65 1089 -#define __REG_IA64_IntR66 1090 -#define __REG_IA64_IntR67 1091 -#define __REG_IA64_IntR68 1092 -#define __REG_IA64_IntR69 1093 -#define __REG_IA64_IntR70 1094 -#define __REG_IA64_IntR71 1095 -#define __REG_IA64_IntR72 1096 -#define __REG_IA64_IntR73 1097 -#define __REG_IA64_IntR74 1098 -#define __REG_IA64_IntR75 1099 -#define __REG_IA64_IntR76 1100 -#define __REG_IA64_IntR77 1101 -#define __REG_IA64_IntR78 1102 -#define __REG_IA64_IntR79 1103 -#define __REG_IA64_IntR80 1104 -#define __REG_IA64_IntR81 1105 -#define __REG_IA64_IntR82 1106 -#define __REG_IA64_IntR83 1107 -#define __REG_IA64_IntR84 1108 -#define __REG_IA64_IntR85 1109 -#define __REG_IA64_IntR86 1110 -#define __REG_IA64_IntR87 1111 -#define __REG_IA64_IntR88 1112 -#define __REG_IA64_IntR89 1113 -#define __REG_IA64_IntR90 1114 -#define __REG_IA64_IntR91 1115 -#define __REG_IA64_IntR92 1116 -#define __REG_IA64_IntR93 1117 -#define __REG_IA64_IntR94 1118 -#define __REG_IA64_IntR95 1119 -#define __REG_IA64_IntR96 1120 -#define __REG_IA64_IntR97 1121 -#define __REG_IA64_IntR98 1122 -#define __REG_IA64_IntR99 1123 -#define __REG_IA64_IntR100 1124 -#define __REG_IA64_IntR101 1125 -#define __REG_IA64_IntR102 1126 -#define __REG_IA64_IntR103 1127 -#define __REG_IA64_IntR104 1128 -#define __REG_IA64_IntR105 1129 -#define __REG_IA64_IntR106 1130 -#define __REG_IA64_IntR107 1131 -#define __REG_IA64_IntR108 1132 -#define __REG_IA64_IntR109 1133 -#define __REG_IA64_IntR110 1134 -#define __REG_IA64_IntR111 1135 -#define __REG_IA64_IntR112 1136 -#define __REG_IA64_IntR113 1137 -#define __REG_IA64_IntR114 1138 -#define __REG_IA64_IntR115 1139 -#define __REG_IA64_IntR116 1140 -#define __REG_IA64_IntR117 1141 -#define __REG_IA64_IntR118 1142 -#define __REG_IA64_IntR119 1143 -#define __REG_IA64_IntR120 1144 -#define __REG_IA64_IntR121 1145 -#define __REG_IA64_IntR122 1146 -#define __REG_IA64_IntR123 1147 -#define __REG_IA64_IntR124 1148 -#define __REG_IA64_IntR125 1149 -#define __REG_IA64_IntR126 1150 -#define __REG_IA64_IntR127 1151 - -#define __REG_IA64_ApKR0 3072 -#define __REG_IA64_ApKR1 3073 -#define __REG_IA64_ApKR2 3074 -#define __REG_IA64_ApKR3 3075 -#define __REG_IA64_ApKR4 3076 -#define __REG_IA64_ApKR5 3077 -#define __REG_IA64_ApKR6 3078 -#define __REG_IA64_ApKR7 3079 -#define __REG_IA64_AR8 3080 -#define __REG_IA64_AR9 3081 -#define __REG_IA64_AR10 3082 -#define __REG_IA64_AR11 3083 -#define __REG_IA64_AR12 3084 -#define __REG_IA64_AR13 3085 -#define __REG_IA64_AR14 3086 -#define __REG_IA64_AR15 3087 -#define __REG_IA64_RsRSC 3088 -#define __REG_IA64_RsBSP 3089 -#define __REG_IA64_RsBSPSTORE 3090 -#define __REG_IA64_RsRNAT 3091 -#define __REG_IA64_AR20 3092 -#define __REG_IA64_StFCR 3093 -#define __REG_IA64_AR22 3094 -#define __REG_IA64_AR23 3095 -#define __REG_IA64_EFLAG 3096 -#define __REG_IA64_CSD 3097 -#define __REG_IA64_SSD 3098 -#define __REG_IA64_CFLG 3099 -#define __REG_IA64_StFSR 3100 -#define __REG_IA64_StFIR 3101 -#define __REG_IA64_StFDR 3102 -#define __REG_IA64_AR31 3103 -#define __REG_IA64_ApCCV 3104 -#define __REG_IA64_AR33 3105 -#define __REG_IA64_AR34 3106 -#define __REG_IA64_AR35 3107 -#define __REG_IA64_ApUNAT 3108 -#define __REG_IA64_AR37 3109 -#define __REG_IA64_AR38 3110 -#define __REG_IA64_AR39 3111 -#define __REG_IA64_StFPSR 3112 -#define __REG_IA64_AR41 3113 -#define __REG_IA64_AR42 3114 -#define __REG_IA64_AR43 3115 -#define __REG_IA64_ApITC 3116 -#define __REG_IA64_AR45 3117 -#define __REG_IA64_AR46 3118 -#define __REG_IA64_AR47 3119 -#define __REG_IA64_AR48 3120 -#define __REG_IA64_AR49 3121 -#define __REG_IA64_AR50 3122 -#define __REG_IA64_AR51 3123 -#define __REG_IA64_AR52 3124 -#define __REG_IA64_AR53 3125 -#define __REG_IA64_AR54 3126 -#define __REG_IA64_AR55 3127 -#define __REG_IA64_AR56 3128 -#define __REG_IA64_AR57 3129 -#define __REG_IA64_AR58 3130 -#define __REG_IA64_AR59 3131 -#define __REG_IA64_AR60 3132 -#define __REG_IA64_AR61 3133 -#define __REG_IA64_AR62 3134 -#define __REG_IA64_AR63 3135 -#define __REG_IA64_RsPFS 3136 -#define __REG_IA64_ApLC 3137 -#define __REG_IA64_ApEC 3138 -#define __REG_IA64_AR67 3139 -#define __REG_IA64_AR68 3140 -#define __REG_IA64_AR69 3141 -#define __REG_IA64_AR70 3142 -#define __REG_IA64_AR71 3143 -#define __REG_IA64_AR72 3144 -#define __REG_IA64_AR73 3145 -#define __REG_IA64_AR74 3146 -#define __REG_IA64_AR75 3147 -#define __REG_IA64_AR76 3148 -#define __REG_IA64_AR77 3149 -#define __REG_IA64_AR78 3150 -#define __REG_IA64_AR79 3151 -#define __REG_IA64_AR80 3152 -#define __REG_IA64_AR81 3153 -#define __REG_IA64_AR82 3154 -#define __REG_IA64_AR83 3155 -#define __REG_IA64_AR84 3156 -#define __REG_IA64_AR85 3157 -#define __REG_IA64_AR86 3158 -#define __REG_IA64_AR87 3159 -#define __REG_IA64_AR88 3160 -#define __REG_IA64_AR89 3161 -#define __REG_IA64_AR90 3162 -#define __REG_IA64_AR91 3163 -#define __REG_IA64_AR92 3164 -#define __REG_IA64_AR93 3165 -#define __REG_IA64_AR94 3166 -#define __REG_IA64_AR95 3167 -#define __REG_IA64_AR96 3168 -#define __REG_IA64_AR97 3169 -#define __REG_IA64_AR98 3170 -#define __REG_IA64_AR99 3171 -#define __REG_IA64_AR100 3172 -#define __REG_IA64_AR101 3173 -#define __REG_IA64_AR102 3174 -#define __REG_IA64_AR103 3175 -#define __REG_IA64_AR104 3176 -#define __REG_IA64_AR105 3177 -#define __REG_IA64_AR106 3178 -#define __REG_IA64_AR107 3179 -#define __REG_IA64_AR108 3180 -#define __REG_IA64_AR109 3181 -#define __REG_IA64_AR110 3182 -#define __REG_IA64_AR111 3183 -#define __REG_IA64_AR112 3184 -#define __REG_IA64_AR113 3185 -#define __REG_IA64_AR114 3186 -#define __REG_IA64_AR115 3187 -#define __REG_IA64_AR116 3188 -#define __REG_IA64_AR117 3189 -#define __REG_IA64_AR118 3190 -#define __REG_IA64_AR119 3191 -#define __REG_IA64_AR120 3192 -#define __REG_IA64_AR121 3193 -#define __REG_IA64_AR122 3194 -#define __REG_IA64_AR123 3195 -#define __REG_IA64_AR124 3196 -#define __REG_IA64_AR125 3197 -#define __REG_IA64_AR126 3198 -#define __REG_IA64_AR127 3199 - -#define __REG_IA64_CPUID0 3328 -#define __REG_IA64_CPUID1 3329 -#define __REG_IA64_CPUID2 3330 -#define __REG_IA64_CPUID3 3331 -#define __REG_IA64_CPUID4 3332 - -#define __REG_IA64_ApDCR 4096 -#define __REG_IA64_ApITM 4097 -#define __REG_IA64_ApIVA 4098 -#define __REG_IA64_ApPTA 4104 -#define __REG_IA64_ApGPTA 4105 -#define __REG_IA64_StIPSR 4112 -#define __REG_IA64_StISR 4113 -#define __REG_IA64_StIIP 4115 -#define __REG_IA64_StIFA 4116 -#define __REG_IA64_StITIR 4117 -#define __REG_IA64_StIIPA 4118 -#define __REG_IA64_StIFS 4119 -#define __REG_IA64_StIIM 4120 -#define __REG_IA64_StIHA 4121 -#define __REG_IA64_SaLID 4160 -#define __REG_IA64_SaIVR 4161 -#define __REG_IA64_SaTPR 4162 -#define __REG_IA64_SaEOI 4163 -#define __REG_IA64_SaIRR0 4164 -#define __REG_IA64_SaIRR1 4165 -#define __REG_IA64_SaIRR2 4166 -#define __REG_IA64_SaIRR3 4167 -#define __REG_IA64_SaITV 4168 -#define __REG_IA64_SaPMV 4169 -#define __REG_IA64_SaCMCV 4170 -#define __REG_IA64_SaLRR0 4176 -#define __REG_IA64_SaLRR1 4177 - -#define __REG_IA64_PFD0 7168 -#define __REG_IA64_PFD1 7169 -#define __REG_IA64_PFD2 7170 -#define __REG_IA64_PFD3 7171 -#define __REG_IA64_PFD4 7172 -#define __REG_IA64_PFD5 7173 -#define __REG_IA64_PFD6 7174 -#define __REG_IA64_PFD7 7175 -#define __REG_IA64_PFD8 7176 -#define __REG_IA64_PFD9 7177 -#define __REG_IA64_PFD10 7178 -#define __REG_IA64_PFD11 7179 -#define __REG_IA64_PFD12 7180 -#define __REG_IA64_PFD13 7181 -#define __REG_IA64_PFD14 7182 -#define __REG_IA64_PFD15 7183 -#define __REG_IA64_PFD16 7184 -#define __REG_IA64_PFD17 7185 - -#define __REG_IA64_PFC0 7424 -#define __REG_IA64_PFC1 7425 -#define __REG_IA64_PFC2 7426 -#define __REG_IA64_PFC3 7427 -#define __REG_IA64_PFC4 7428 -#define __REG_IA64_PFC5 7429 -#define __REG_IA64_PFC6 7430 -#define __REG_IA64_PFC7 7431 -#define __REG_IA64_PFC8 7432 -#define __REG_IA64_PFC9 7433 -#define __REG_IA64_PFC10 7434 -#define __REG_IA64_PFC11 7435 -#define __REG_IA64_PFC12 7436 -#define __REG_IA64_PFC13 7437 -#define __REG_IA64_PFC14 7438 -#define __REG_IA64_PFC15 7439 - -#define __REG_IA64_DbI0 8448 -#define __REG_IA64_DbI1 8449 -#define __REG_IA64_DbI2 8450 -#define __REG_IA64_DbI3 8451 -#define __REG_IA64_DbI4 8452 -#define __REG_IA64_DbI5 8453 -#define __REG_IA64_DbI6 8454 -#define __REG_IA64_DbI7 8455 - -#define __REG_IA64_DbD0 8576 -#define __REG_IA64_DbD1 8577 -#define __REG_IA64_DbD2 8578 -#define __REG_IA64_DbD3 8579 -#define __REG_IA64_DbD4 8580 -#define __REG_IA64_DbD5 8581 -#define __REG_IA64_DbD6 8582 -#define __REG_IA64_DbD7 8583 -#endif - -#if defined(_NO_PREFETCHW) -#if defined(__x86_64) - -#define _InterlockedCompareExchange16 _InterlockedCompareExchange16_np -#define _InterlockedCompareExchange _InterlockedCompareExchange_np -#define _InterlockedCompareExchange64 _InterlockedCompareExchange64_np -#define _InterlockedCompareExchangePointer _InterlockedCompareExchangePointer_np -#define _InterlockedCompare64Exchange128 _InterlockedCompare64Exchange128_np -#define _InterlockedCompare64Exchange128_acq _InterlockedCompare64Exchange128_acq_np -#define _InterlockedCompare64Exchange128_rel _InterlockedCompare64Exchange128_rel_np -#define _InterlockedAnd _InterlockedAnd_np -#define _InterlockedAnd8 _InterlockedAnd8_np -#define _InterlockedAnd16 _InterlockedAnd16_np -#define _InterlockedAnd64 _InterlockedAnd64_np -#define _InterlockedOr _InterlockedOr_np -#define _InterlockedOr8 _InterlockedOr8_np -#define _InterlockedOr16 _InterlockedOr16_np -#define _InterlockedOr64 _InterlockedOr64_np -#define _InterlockedXor _InterlockedXor_np -#define _InterlockedXor8 _InterlockedXor8_np -#define _InterlockedXor16 _InterlockedXor16_np -#define _InterlockedXor64 _InterlockedXor64_np -#endif -#endif - -#if defined(__cplusplus) -} -#endif +#ifndef TCC_INTRIN_H_SHIM +#define TCC_INTRIN_H_SHIM #endif - -#endif /* end __INTRIN_H_ */ From da89255a949156be032ee75372857bd2edf4898b Mon Sep 17 00:00:00 2001 From: Richard Wheeler <18647491+PythonWillRule@users.noreply.github.com> Date: Sun, 27 Sep 2026 13:12:11 -0400 Subject: [PATCH 4/4] win32: document dbghelp.h's include-order requirement, per adversarial review An adversarial review of this PR found: unlike include/intrin.h (an empty stub with zero dependencies, genuinely order-independent), dbghelp.h is the real mingw-w64 header and is NOT order-independent - its dependency psdk_inc/_dbg_LOAD_IMAGE.h uses PSTR/PUCHAR/HANDLE/etc. without defining or including them, relying on having run first. Verified live: `#include ` then `#include ` without windows.h first fails to preprocess (psdk_inc/_dbg_LOAD_IMAGE.h:24: ';' expected (got 'PSTR')); the actual vc/v_win.c order (windows.h, then intrin.h, then dbghelp.h) compiles clean, so vlang's real bootstrap is unaffected. Documenting this in dbghelp.h itself rather than vendoring more of windows.h's typedef surface into _dbg_LOAD_IMAGE.h, which risks conflicting redefinitions when combined with a real inclusion and doesn't match this bundle's actual only consumer's include order anyway. Co-Authored-By: WOZCODE --- include/dbghelp.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/dbghelp.h b/include/dbghelp.h index adee3a6..2046fd2 100644 --- a/include/dbghelp.h +++ b/include/dbghelp.h @@ -3,6 +3,17 @@ * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ +/* + * Unlike include/intrin.h in this same directory (an empty stub with zero + * dependencies), this is the real mingw-w64 header, and it is NOT + * include-order-independent: its dependency psdk_inc/_dbg_LOAD_IMAGE.h uses + * PSTR/PUCHAR/HANDLE/etc. without defining or including them itself - they + * must already come from . Including this header before + * fails to preprocess. This matches vc/v_win.c's actual order + * (, then , then ), which this bundle's + * bootstrap depends on and has been verified to build; any other consumer + * must include first too. + */ #ifndef _DBGHELP_ #define _DBGHELP_