[ARM]
Stub out swap funcs for pre armv6 which lack REV/REV16. WRITEME. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32240 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -10,23 +10,35 @@
|
|||||||
/* uint16 __swap_int16(uint16 value)
|
/* uint16 __swap_int16(uint16 value)
|
||||||
*/
|
*/
|
||||||
FUNCTION(__swap_int16):
|
FUNCTION(__swap_int16):
|
||||||
|
#if __ARM_ARCH__ >= 6
|
||||||
rev16 r0,r0;
|
rev16 r0,r0;
|
||||||
|
#else
|
||||||
|
#warning IMPLEMENT_ME
|
||||||
|
#endif
|
||||||
FUNCTION_END(__swap_int16)
|
FUNCTION_END(__swap_int16)
|
||||||
|
|
||||||
/* uint32 __swap_int32(uint32 value)
|
/* uint32 __swap_int32(uint32 value)
|
||||||
*/
|
*/
|
||||||
FUNCTION(__swap_int32):
|
FUNCTION(__swap_int32):
|
||||||
|
#if __ARM_ARCH__ >= 6
|
||||||
rev r0,r0;
|
rev r0,r0;
|
||||||
|
#else
|
||||||
|
#warning IMPLEMENT_ME
|
||||||
|
#endif
|
||||||
FUNCTION_END(__swap_int32)
|
FUNCTION_END(__swap_int32)
|
||||||
|
|
||||||
/* uint64 __swap_int64(uint64 value)
|
/* uint64 __swap_int64(uint64 value)
|
||||||
*/
|
*/
|
||||||
FUNCTION(__swap_int64):
|
FUNCTION(__swap_int64):
|
||||||
|
#if __ARM_ARCH__ >= 6
|
||||||
rev r0,r0;
|
rev r0,r0;
|
||||||
rev r1,r1;
|
rev r1,r1;
|
||||||
mov r12,r0;
|
mov r12,r0;
|
||||||
mov r0,r1;
|
mov r0,r1;
|
||||||
mov r1,r12;
|
mov r1,r12;
|
||||||
|
#else
|
||||||
|
#warning IMPLEMENT_ME
|
||||||
|
#endif
|
||||||
FUNCTION_END(__swap_int64)
|
FUNCTION_END(__swap_int64)
|
||||||
|
|
||||||
/* TODO: The following functions can surely be optimized. A simple optimization
|
/* TODO: The following functions can surely be optimized. A simple optimization
|
||||||
|
|||||||
Reference in New Issue
Block a user