enhanced hcl_bswap16/32/64()

This commit is contained in:
2019-05-03 07:39:01 +00:00
parent 882ca9358c
commit 727865dcc5
2 changed files with 46 additions and 0 deletions

View File

@ -912,6 +912,19 @@ typedef struct hcl_t hcl_t;
#define HCL_HAVE_SYNC_VAL_COMPARE_AND_SWAP
#endif
#if __has_builtin(__builtin_bswap16)
#define HCL_HAVE_BUILTIN_BSWAP16
#endif
#if __has_builtin(__builtin_bswap32)
#define HCL_HAVE_BUILTIN_BSWAP32
#endif
#if __has_builtin(__builtin_bswap64)
#define HCL_HAVE_BUILTIN_BSWAP64
#endif
#if __has_builtin(__builtin_bswap128)
#define HCL_HAVE_BUILTIN_BSWAP128
#endif
#elif defined(__GNUC__) && defined(__GNUC_MINOR__)
#if (__GNUC__ >= 4)
@ -949,6 +962,17 @@ typedef struct hcl_t hcl_t;
#define HCL_HAVE_BUILTIN_SMULLL_OVERFLOW
#endif
#if (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
/* 4.8.0 or later */
#define HCL_HAVE_BUILTIN_BSWAP16
#endif
#if (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
/* 4.3.0 or later */
#define HCL_HAVE_BUILTIN_BSWAP32
#define HCL_HAVE_BUILTIN_BSWAP64
/*#define HCL_HAVE_BUILTIN_BSWAP128*/
#endif
#endif
#if defined(HCL_HAVE_BUILTIN_EXPECT)