From 1477cd1ee84cc81a1f0df545674aa4c05cda39d2 Mon Sep 17 00:00:00 2001 From: Wencey Wang Date: Thu, 16 Jul 2020 19:41:05 +0000 Subject: [PATCH] Support Windows on ARM and ARM64 (#250) * Support Windows on ARM and ARM64 * Update cpu.inl --- include/bx/inline/cpu.inl | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/include/bx/inline/cpu.inl b/include/bx/inline/cpu.inl index 34d3e92..71224db 100644 --- a/include/bx/inline/cpu.inl +++ b/include/bx/inline/cpu.inl @@ -8,9 +8,9 @@ #endif // BX_CPU_H_HEADER_GUARD #if BX_COMPILER_MSVC -# if BX_PLATFORM_WINRT +# if BX_PLATFORM_WINRT || (BX_PLATFORM_WINDOWS && (!BX_CPU_X86)) # include -# endif // BX_PLATFORM_WINRT +# endif // BX_PLATFORM_WINRT || (BX_PLATFORM_WINDOWS && (!BX_CPU_X86)) # if BX_CPU_X86 # include // _mm_fence @@ -88,16 +88,18 @@ namespace bx asm volatile("":::"memory"); #endif // BX_COMPILER } - + inline void memoryBarrier() { -#if BX_PLATFORM_WINRT - MemoryBarrier(); -#elif BX_COMPILER_MSVC +#if BX_COMPILER_MSVC +# if BX_CPU_X86 _mm_mfence(); +# else + MemoryBarrier(); +# endif // BX_CPU_X86 #else __sync_synchronize(); -#endif // BX_COMPILER +#endif // BX_COMPILER_MSVC } template<>