|
|
@ -71,19 +71,6 @@ inline u32 swap32(u32 _data) {
|
|
|
|
inline u64 swap64(u64 _data) {
|
|
|
|
inline u64 swap64(u64 _data) {
|
|
|
|
return _byteswap_uint64(_data);
|
|
|
|
return _byteswap_uint64(_data);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#elif defined(ARCHITECTURE_ARM) && (__ARM_ARCH >= 6)
|
|
|
|
|
|
|
|
inline u16 swap16(u16 _data) {
|
|
|
|
|
|
|
|
u32 data = _data;
|
|
|
|
|
|
|
|
__asm__("rev16 %0, %1\n" : "=l"(data) : "l"(data));
|
|
|
|
|
|
|
|
return (u16)data;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
inline u32 swap32(u32 _data) {
|
|
|
|
|
|
|
|
__asm__("rev %0, %1\n" : "=l"(_data) : "l"(_data));
|
|
|
|
|
|
|
|
return _data;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
inline u64 swap64(u64 _data) {
|
|
|
|
|
|
|
|
return ((u64)swap32(_data) << 32) | swap32(_data >> 32);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#elif __linux__
|
|
|
|
#elif __linux__
|
|
|
|
inline u16 swap16(u16 _data) {
|
|
|
|
inline u16 swap16(u16 _data) {
|
|
|
|
return bswap_16(_data);
|
|
|
|
return bswap_16(_data);
|
|
|
|