summaryrefslogtreecommitdiff
path: root/src/xine-utils/memcpy.c
diff options
context:
space:
mode:
authorSiggi Langauf <siggi@users.sourceforge.net>2002-05-28 12:44:02 +0000
committerSiggi Langauf <siggi@users.sourceforge.net>2002-05-28 12:44:02 +0000
commit9402cd07dba3632fea3273795b3223350742fe5c (patch)
tree673ea756d80c80baca98934c1eeef963fc577dc2 /src/xine-utils/memcpy.c
parent4ed51e17c6c8e3157d1ebaac8c06d4e0e5b26aa0 (diff)
downloadxine-lib-9402cd07dba3632fea3273795b3223350742fe5c.tar.gz
xine-lib-9402cd07dba3632fea3273795b3223350742fe5c.tar.bz2
PowerPC Assembly Patch by Andrew Patrikalakis <anrp@irulethe.net>
This seems to be _always_ using xine_fast_memcpy() in yuv2rgb.c, which _may_ be a bad idea. CVS patchset: 1961 CVS date: 2002/05/28 12:44:02
Diffstat (limited to 'src/xine-utils/memcpy.c')
-rw-r--r--src/xine-utils/memcpy.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/xine-utils/memcpy.c b/src/xine-utils/memcpy.c
index 564a61cdd..a1e114b70 100644
--- a/src/xine-utils/memcpy.c
+++ b/src/xine-utils/memcpy.c
@@ -33,6 +33,11 @@
#include "config.h"
#endif
+#ifdef ARCH_PPC
+#include "ppcasm_string.h"
+#endif
+#include <sys/times.h>
+
#include <stdlib.h>
#include <string.h>
#include "xine_internal.h"
@@ -368,6 +373,10 @@ static struct {
{ "MMXEXT optimized memcpy()", mmx2_memcpy, 0, MM_MMXEXT },
{ "SSE optimized memcpy()", sse_memcpy, 0, MM_MMXEXT|MM_SSE },
#endif /* ARCH_X86 */
+#ifdef ARCH_PPC
+ { "ppcasm_memcpy()", ppcasm_memcpy, 0, 0 },
+ { "ppcasm_cacheable_memcpy()", ppcasm_cacheable_memcpy, 0, 0 },
+#endif /* ARCH_PPC */
{ NULL, NULL, 0, 0 }
};
@@ -383,7 +392,8 @@ static unsigned long long int rdtsc()
{
/* FIXME: implement an equivalent for using optimized memcpy on other
architectures */
- return 0;
+#warning "Using rdtsc() hack (via times(NULL))"
+ return times(NULL);
}
#endif
@@ -415,6 +425,9 @@ void xine_probe_fast_memcpy(config_values_t *config)
#ifdef ARCH_X86
"kernel", "mmx", "mmxext", "sse",
#endif
+#ifdef ARCH_PPC
+ "ppcasm_memcpy", "ppcasm_cacheable_memcpy",
+#endif
NULL};
config_flags = xine_mm_accel();