|
@@ -45,9 +45,7 @@
|
|
|
|
|
|
static inline __attribute_const__ __u16 __fswab16(__u16 val)
|
|
|
{
|
|
|
-#ifdef __HAVE_BUILTIN_BSWAP16__
|
|
|
- return __builtin_bswap16(val);
|
|
|
-#elif defined (__arch_swab16)
|
|
|
+#if defined (__arch_swab16)
|
|
|
return __arch_swab16(val);
|
|
|
#else
|
|
|
return ___constant_swab16(val);
|
|
@@ -56,9 +54,7 @@ static inline __attribute_const__ __u16 __fswab16(__u16 val)
|
|
|
|
|
|
static inline __attribute_const__ __u32 __fswab32(__u32 val)
|
|
|
{
|
|
|
-#ifdef __HAVE_BUILTIN_BSWAP32__
|
|
|
- return __builtin_bswap32(val);
|
|
|
-#elif defined(__arch_swab32)
|
|
|
+#if defined(__arch_swab32)
|
|
|
return __arch_swab32(val);
|
|
|
#else
|
|
|
return ___constant_swab32(val);
|
|
@@ -67,9 +63,7 @@ static inline __attribute_const__ __u32 __fswab32(__u32 val)
|
|
|
|
|
|
static inline __attribute_const__ __u64 __fswab64(__u64 val)
|
|
|
{
|
|
|
-#ifdef __HAVE_BUILTIN_BSWAP64__
|
|
|
- return __builtin_bswap64(val);
|
|
|
-#elif defined (__arch_swab64)
|
|
|
+#if defined (__arch_swab64)
|
|
|
return __arch_swab64(val);
|
|
|
#elif defined(__SWAB_64_THRU_32__)
|
|
|
__u32 h = val >> 32;
|
|
@@ -102,28 +96,40 @@ static inline __attribute_const__ __u32 __fswahb32(__u32 val)
|
|
|
* __swab16 - return a byteswapped 16-bit value
|
|
|
* @x: value to byteswap
|
|
|
*/
|
|
|
+#ifdef __HAVE_BUILTIN_BSWAP16__
|
|
|
+#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
|
|
|
+#else
|
|
|
#define __swab16(x) \
|
|
|
(__builtin_constant_p((__u16)(x)) ? \
|
|
|
___constant_swab16(x) : \
|
|
|
__fswab16(x))
|
|
|
+#endif
|
|
|
|
|
|
/**
|
|
|
* __swab32 - return a byteswapped 32-bit value
|
|
|
* @x: value to byteswap
|
|
|
*/
|
|
|
+#ifdef __HAVE_BUILTIN_BSWAP32__
|
|
|
+#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
|
|
|
+#else
|
|
|
#define __swab32(x) \
|
|
|
(__builtin_constant_p((__u32)(x)) ? \
|
|
|
___constant_swab32(x) : \
|
|
|
__fswab32(x))
|
|
|
+#endif
|
|
|
|
|
|
/**
|
|
|
* __swab64 - return a byteswapped 64-bit value
|
|
|
* @x: value to byteswap
|
|
|
*/
|
|
|
+#ifdef __HAVE_BUILTIN_BSWAP64__
|
|
|
+#define __swab64(x) (__u64)__builtin_bswap64((__u64)(x))
|
|
|
+#else
|
|
|
#define __swab64(x) \
|
|
|
(__builtin_constant_p((__u64)(x)) ? \
|
|
|
___constant_swab64(x) : \
|
|
|
__fswab64(x))
|
|
|
+#endif
|
|
|
|
|
|
/**
|
|
|
* __swahw32 - return a word-swapped 32-bit value
|