|
|
@ -11,7 +11,7 @@ |
|
|
|
#else |
|
|
|
#else |
|
|
|
|
|
|
|
|
|
|
|
#ifdef ARCH_X86 |
|
|
|
#ifdef ARCH_X86 |
|
|
|
inline static unsigned short ByteSwap16(unsigned short x) |
|
|
|
static inline unsigned short ByteSwap16(unsigned short x) |
|
|
|
{ |
|
|
|
{ |
|
|
|
__asm("xchgb %b0,%h0" : |
|
|
|
__asm("xchgb %b0,%h0" : |
|
|
|
"=q" (x) : |
|
|
|
"=q" (x) : |
|
|
@ -20,7 +20,7 @@ inline static unsigned short ByteSwap16(unsigned short x) |
|
|
|
} |
|
|
|
} |
|
|
|
#define bswap_16(x) ByteSwap16(x) |
|
|
|
#define bswap_16(x) ByteSwap16(x) |
|
|
|
|
|
|
|
|
|
|
|
inline static unsigned int ByteSwap32(unsigned int x) |
|
|
|
static inline unsigned int ByteSwap32(unsigned int x) |
|
|
|
{ |
|
|
|
{ |
|
|
|
#if __CPU__ > 386 |
|
|
|
#if __CPU__ > 386 |
|
|
|
__asm("bswap %0": |
|
|
|
__asm("bswap %0": |
|
|
@ -36,7 +36,7 @@ inline static unsigned int ByteSwap32(unsigned int x) |
|
|
|
} |
|
|
|
} |
|
|
|
#define bswap_32(x) ByteSwap32(x) |
|
|
|
#define bswap_32(x) ByteSwap32(x) |
|
|
|
|
|
|
|
|
|
|
|
inline static unsigned long long int ByteSwap64(unsigned long long int x) |
|
|
|
static inline unsigned long long int ByteSwap64(unsigned long long int x) |
|
|
|
{ |
|
|
|
{ |
|
|
|
register union { __extension__ uint64_t __ll; |
|
|
|
register union { __extension__ uint64_t __ll; |
|
|
|
uint32_t __l[2]; } __x; |
|
|
|
uint32_t __l[2]; } __x; |
|
|
@ -66,7 +66,7 @@ static inline uint32_t ByteSwap32(uint32_t x) { |
|
|
|
#define bswap_16(x) ByteSwap16(x) |
|
|
|
#define bswap_16(x) ByteSwap16(x) |
|
|
|
#define bswap_32(x) ByteSwap32(x) |
|
|
|
#define bswap_32(x) ByteSwap32(x) |
|
|
|
|
|
|
|
|
|
|
|
inline static uint64_t ByteSwap64(uint64_t x) |
|
|
|
static inline uint64_t ByteSwap64(uint64_t x) |
|
|
|
{ |
|
|
|
{ |
|
|
|
union {
|
|
|
|
union {
|
|
|
|
uint64_t ll; |
|
|
|
uint64_t ll; |
|
|
@ -90,7 +90,7 @@ inline static uint64_t ByteSwap64(uint64_t x) |
|
|
|
((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
|
|
|
|
((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
|
|
|
|
(((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24)) |
|
|
|
(((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24)) |
|
|
|
|
|
|
|
|
|
|
|
inline static uint64_t ByteSwap64(uint64_t x) |
|
|
|
static inline uint64_t ByteSwap64(uint64_t x) |
|
|
|
{ |
|
|
|
{ |
|
|
|
union {
|
|
|
|
union {
|
|
|
|
uint64_t ll; |
|
|
|
uint64_t ll; |
|
|
|