Use faster byte swapping when compiling with MSVC

When compiling with MSVC on x86-compatible, use an intrinsic for byte
swapping.  In contrast to the GCC path, we do not prefer inline assembly
here as it is not supported for the x64 platform.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Sebastian Schuberth
2009-10-19 18:28:50 +02:00
committed by Johannes Schindelin
parent 9ba38c833b
commit 7e9e93bc67

View File

@@ -28,6 +28,16 @@ static inline uint32_t default_swab32(uint32_t val)
} \
__res; })
#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64))
#include <stdlib.h>
#define bswap32(x) _byteswap_ulong(x)
#endif
#ifdef bswap32
#undef ntohl
#undef htonl
#define ntohl(x) bswap32(x)