[Android] Undefine the swaps in Android completely, not just on ARM Android.
This commit is contained in:
parent
33ca010115
commit
012c32c14c
|
@ -164,16 +164,17 @@ namespace Common
|
||||||
inline u8 swap8(u8 _data) {return _data;}
|
inline u8 swap8(u8 _data) {return _data;}
|
||||||
inline u32 swap24(const u8* _data) {return (_data[0] << 16) | (_data[1] << 8) | _data[2];}
|
inline u32 swap24(const u8* _data) {return (_data[0] << 16) | (_data[1] << 8) | _data[2];}
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
inline u16 swap16(u16 _data) {return _byteswap_ushort(_data);}
|
|
||||||
inline u32 swap32(u32 _data) {return _byteswap_ulong (_data);}
|
|
||||||
inline u64 swap64(u64 _data) {return _byteswap_uint64(_data);}
|
|
||||||
#elif _M_ARM
|
|
||||||
#ifdef ANDROID
|
#ifdef ANDROID
|
||||||
#undef swap16
|
#undef swap16
|
||||||
#undef swap32
|
#undef swap32
|
||||||
#undef swap64
|
#undef swap64
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
inline u16 swap16(u16 _data) {return _byteswap_ushort(_data);}
|
||||||
|
inline u32 swap32(u32 _data) {return _byteswap_ulong (_data);}
|
||||||
|
inline u64 swap64(u64 _data) {return _byteswap_uint64(_data);}
|
||||||
|
#elif _M_ARM
|
||||||
inline u16 swap16 (u16 _data) { u32 data = _data; __asm__ ("rev16 %0, %1\n" : "=l" (data) : "l" (data)); return (u16)data;}
|
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 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);}
|
inline u64 swap64(u64 _data) {return ((u64)swap32(_data) << 32) | swap32(_data >> 32);}
|
||||||
|
|
Loading…
Reference in New Issue