mirror of
https://github.com/claunia/flac.git
synced 2025-12-16 18:54:26 +00:00
Add XIPH_BSWAP32 configure macro to detect __builtin_bswap32() intrinsic.
This commit is contained in:
@@ -31,16 +31,20 @@
|
||||
|
||||
/* It is assumed that this header will be included after "config.h". */
|
||||
|
||||
#if HAVE_BYTESWAP_H
|
||||
#if HAVE_BSWAP32 /* GCC and Clang */
|
||||
|
||||
#include <byteswap.h> /* Linux */
|
||||
|
||||
#define ENDSWAP_INT(x) ((int) bswap_32 (x))
|
||||
#define ENDSWAP_INT(x) (__builtin_bswap32 (x))
|
||||
|
||||
#elif defined _MSC_VER /* Windows. Apparently in <stdlib.h>. */
|
||||
|
||||
#define ENDSWAP_INT(x) ((int) _byteswap_ulong (x))
|
||||
|
||||
#elif HAVE_BYTESWAP_H /* Linux */
|
||||
|
||||
#include <byteswap.h>
|
||||
|
||||
#define ENDSWAP_INT(x) ((int) bswap_32 (x))
|
||||
|
||||
#else
|
||||
|
||||
#define ENDSWAP_INT(x) ((((x) >> 24) & 0xFF) + (((x) >> 8) & 0xFF00) + (((x) & 0xFF00) << 8) + (((x) & 0xFF) << 24))
|
||||
|
||||
Reference in New Issue
Block a user