summaryrefslogtreecommitdiff
path: root/src/xine-utils/memcpy.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xine-utils/memcpy.c')
-rw-r--r--src/xine-utils/memcpy.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/xine-utils/memcpy.c b/src/xine-utils/memcpy.c
index b7611ed86..cea2b5b0b 100644
--- a/src/xine-utils/memcpy.c
+++ b/src/xine-utils/memcpy.c
@@ -39,6 +39,8 @@
#ifdef HAVE_SYS_TIMES_H
#include <sys/times.h>
+#else
+#include <time.h>
#endif
#include <stdlib.h>
@@ -124,7 +126,7 @@ quote of the day:
/* for small memory blocks (<256 bytes) this version is faster */
#define small_memcpy(to,from,n)\
{\
-register unsigned long int dummy;\
+register uintptr_t dummy;\
__asm__ __volatile__(\
"rep; movsb"\
:"=&D"(to), "=&S"(from), "=&c"(dummy)\
@@ -154,7 +156,7 @@ int d0, d1, d2;
"movsb\n"
"2:"
: "=&c" (d0), "=&D" (d1), "=&S" (d2)
- :"0" (n/4), "q" (n),"1" ((long) to),"2" ((long) from)
+ :"0" (n/4), "q" (n),"1" ((uintptr_t) to),"2" ((uintptr_t) from)
: "memory");
return (to);
@@ -191,9 +193,9 @@ static void * sse_memcpy(void * to, const void * from, size_t len)
if(len >= MIN_LEN)
{
- register unsigned long int delta;
+ register uintptr_t delta;
/* Align destinition to MMREG_SIZE -boundary */
- delta = ((unsigned long int)to)&(SSE_MMREG_SIZE-1);
+ delta = ((uintptr_t)to)&(SSE_MMREG_SIZE-1);
if(delta)
{
delta=SSE_MMREG_SIZE-delta;
@@ -202,7 +204,7 @@ static void * sse_memcpy(void * to, const void * from, size_t len)
}
i = len >> 6; /* len/64 */
len&=63;
- if(((unsigned long)from) & 15)
+ if(((uintptr_t)from) & 15)
/* if SRC is misaligned */
for(; i>0; i--)
{
@@ -263,9 +265,9 @@ static void * mmx_memcpy(void * to, const void * from, size_t len)
if(len >= MMX1_MIN_LEN)
{
- register unsigned long int delta;
+ register uintptr_t delta;
/* Align destinition to MMREG_SIZE -boundary */
- delta = ((unsigned long int)to)&(MMX_MMREG_SIZE-1);
+ delta = ((uintptr_t)to)&(MMX_MMREG_SIZE-1);
if(delta)
{
delta=MMX_MMREG_SIZE-delta;
@@ -328,9 +330,9 @@ static void * mmx2_memcpy(void * to, const void * from, size_t len)
if(len >= MIN_LEN)
{
- register unsigned long int delta;
+ register uintptr_t delta;
/* Align destinition to MMREG_SIZE -boundary */
- delta = ((unsigned long int)to)&(MMX_MMREG_SIZE-1);
+ delta = ((uintptr_t)to)&(MMX_MMREG_SIZE-1);
if(delta)
{
delta=MMX_MMREG_SIZE-delta;
@@ -428,7 +430,7 @@ static uint64_t rdtsc(int config_flags)
struct tms tp;
return times(&tp);
#else
- return ((uint64_t)0);
+ return clock();
#endif /* HAVE_SYS_TIMES_H */
}
#endif