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__ __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__ __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 |
* __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 |
151,7 → 157,7 |
* __swab16p - return a byteswapped 16-bit value from a pointer |
* @p: pointer to a naturally-aligned 16-bit value |
*/ |
static inline __u16 __swab16p(const __u16 *p) |
static __always_inline __u16 __swab16p(const __u16 *p) |
{ |
#ifdef __arch_swab16p |
return __arch_swab16p(p); |
164,7 → 170,7 |
* __swab32p - return a byteswapped 32-bit value from a pointer |
* @p: pointer to a naturally-aligned 32-bit value |
*/ |
static inline __u32 __swab32p(const __u32 *p) |
static __always_inline __u32 __swab32p(const __u32 *p) |
{ |
#ifdef __arch_swab32p |
return __arch_swab32p(p); |
177,7 → 183,7 |
* __swab64p - return a byteswapped 64-bit value from a pointer |
* @p: pointer to a naturally-aligned 64-bit value |
*/ |
static inline __u64 __swab64p(const __u64 *p) |
static __always_inline __u64 __swab64p(const __u64 *p) |
{ |
#ifdef __arch_swab64p |
return __arch_swab64p(p); |
232,7 → 238,7 |
* __swab32s - byteswap a 32-bit value in-place |
* @p: pointer to a naturally-aligned 32-bit value |
*/ |
static inline void __swab32s(__u32 *p) |
static __always_inline void __swab32s(__u32 *p) |
{ |
#ifdef __arch_swab32s |
__arch_swab32s(p); |
245,7 → 251,7 |
* __swab64s - byteswap a 64-bit value in-place |
* @p: pointer to a naturally-aligned 64-bit value |
*/ |
static inline void __swab64s(__u64 *p) |
static __always_inline void __swab64s(__u64 *p) |
{ |
#ifdef __arch_swab64s |
__arch_swab64s(p); |