WinRT build fix for ARM platforms
authorDavid Ludwig <dludwig@pobox.com>
Sun, 10 Aug 2014 22:21:21 -0400
changeset 9047 101109110bf7
parent 9046 c3ec7c3e6c24
child 9048 e5d64ad7fdc5
WinRT build fix for ARM platforms The _xgetbv intrinsic was being used in ARM builds of SDL/WinRT, which was leading to linker errors. This commit limits _xgetbv use to the platforms on which it is available, x86 and x64.
src/cpuinfo/SDL_cpuinfo.c
--- a/src/cpuinfo/SDL_cpuinfo.c	Wed Aug 06 11:34:54 2014 -0700
+++ b/src/cpuinfo/SDL_cpuinfo.c	Sun Aug 10 22:21:21 2014 -0400
@@ -246,7 +246,7 @@
     a = 0;
 #if defined(__GNUC__) && (defined(i386) || defined(__x86_64__))
     asm(".byte 0x0f, 0x01, 0xd0" : "=a" (a) : "c" (0) : "%edx");
-#elif defined(_MSC_VER) && (_MSC_FULL_VER >= 160040219) /* VS2010 SP1 */
+#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64)) && (_MSC_FULL_VER >= 160040219) /* VS2010 SP1 */
     a = (int)_xgetbv(0);
 #elif (defined(_MSC_VER) && defined(_M_IX86)) || defined(__WATCOMC__)
     __asm