[SDK:CRT] For intrinsics that don't exist on MSVC 2010 we cannot use an implementation in inlined ASM for x64 builds.

This commit is contained in:
Hermès Bélusca-Maïto 2019-10-06 15:41:30 +02:00
parent 80db055135
commit 912268762e
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0

View file

@ -268,6 +268,7 @@ extern "C" {
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
#pragma intrinsic(__fastfail) #pragma intrinsic(__fastfail)
#else #else
#if defined(_M_IX86)
__declspec(noreturn) __forceinline __declspec(noreturn) __forceinline
void __fastfail(unsigned int Code) void __fastfail(unsigned int Code)
{ {
@ -277,6 +278,9 @@ void __fastfail(unsigned int Code)
int 29h int 29h
} }
} }
#else
void __fastfail(unsigned int Code);
#endif // defined(_M_IX86)
#endif #endif
#endif #endif
#if defined(_M_ARM) #if defined(_M_ARM)
@ -341,6 +345,7 @@ void __forceinline __invlpg_fixed(void * Address)
#if (_MSC_VER >= 1800) #if (_MSC_VER >= 1800)
#pragma intrinsic(_sgdt) #pragma intrinsic(_sgdt)
#else #else
#if defined(_M_IX86)
__forceinline __forceinline
void _sgdt(void *Destination) void _sgdt(void *Destination)
{ {
@ -350,6 +355,9 @@ void _sgdt(void *Destination)
sgdt [eax] sgdt [eax]
} }
} }
#else
void _sgdt(void *Destination);
#endif // defined(_M_IX86)
#endif #endif
#pragma intrinsic(_mm_pause) #pragma intrinsic(_mm_pause)
#endif #endif