|
@@ -112,6 +112,9 @@ extern "C" {
|
|
|
|
|
|
#if HAS_BUILTIN_BSWAP16
|
|
|
#define SDL_Swap16(x) __builtin_bswap16(x)
|
|
|
+#elif defined(_MSC_VER)
|
|
|
+#pragma intrinsic(_byteswap_ushort)
|
|
|
+#define SDL_Swap16(x) _byteswap_ushort(x)
|
|
|
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
|
|
SDL_FORCE_INLINE Uint16
|
|
|
SDL_Swap16(Uint16 x)
|
|
@@ -149,9 +152,6 @@ SDL_Swap16(Uint16 x)
|
|
|
__asm__("rorw #8,%0": "=d"(x): "0"(x):"cc");
|
|
|
return x;
|
|
|
}
|
|
|
-#elif defined(_MSC_VER)
|
|
|
-#pragma intrinsic(_byteswap_ushort)
|
|
|
-#define SDL_Swap16(x) _byteswap_ushort(x)
|
|
|
#elif defined(__WATCOMC__) && defined(__386__)
|
|
|
extern _inline Uint16 SDL_Swap16(Uint16);
|
|
|
#pragma aux SDL_Swap16 = \
|
|
@@ -168,6 +168,9 @@ SDL_Swap16(Uint16 x)
|
|
|
|
|
|
#if HAS_BUILTIN_BSWAP32
|
|
|
#define SDL_Swap32(x) __builtin_bswap32(x)
|
|
|
+#elif defined(_MSC_VER)
|
|
|
+#pragma intrinsic(_byteswap_ulong)
|
|
|
+#define SDL_Swap32(x) _byteswap_ulong(x)
|
|
|
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
|
|
SDL_FORCE_INLINE Uint32
|
|
|
SDL_Swap32(Uint32 x)
|
|
@@ -213,9 +216,6 @@ extern _inline Uint32 SDL_Swap32(Uint32);
|
|
|
"bswap eax" \
|
|
|
parm [eax] \
|
|
|
modify [eax];
|
|
|
-#elif defined(_MSC_VER)
|
|
|
-#pragma intrinsic(_byteswap_ulong)
|
|
|
-#define SDL_Swap32(x) _byteswap_ulong(x)
|
|
|
#else
|
|
|
SDL_FORCE_INLINE Uint32
|
|
|
SDL_Swap32(Uint32 x)
|
|
@@ -227,6 +227,9 @@ SDL_Swap32(Uint32 x)
|
|
|
|
|
|
#if HAS_BUILTIN_BSWAP64
|
|
|
#define SDL_Swap64(x) __builtin_bswap64(x)
|
|
|
+#elif defined(_MSC_VER)
|
|
|
+#pragma intrinsic(_byteswap_uint64)
|
|
|
+#define SDL_Swap64(x) _byteswap_uint64(x)
|
|
|
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
|
|
SDL_FORCE_INLINE Uint64
|
|
|
SDL_Swap64(Uint64 x)
|
|
@@ -258,9 +261,6 @@ extern _inline Uint64 SDL_Swap64(Uint64);
|
|
|
"xchg eax,edx" \
|
|
|
parm [eax edx] \
|
|
|
modify [eax edx];
|
|
|
-#elif defined(_MSC_VER)
|
|
|
-#pragma intrinsic(_byteswap_uint64)
|
|
|
-#define SDL_Swap64(x) _byteswap_uint64(x)
|
|
|
#else
|
|
|
SDL_FORCE_INLINE Uint64
|
|
|
SDL_Swap64(Uint64 x)
|