diff options
Diffstat (limited to 'libvo/aclib.c')
-rw-r--r-- | libvo/aclib.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/libvo/aclib.c b/libvo/aclib.c index a2931739ea..f569f58460 100644 --- a/libvo/aclib.c +++ b/libvo/aclib.c @@ -118,4 +118,34 @@ inline void * fast_memcpy(void * to, const void * from, size_t len) #endif //!RUNTIME_CPUDETECT } -#endif /* use fastmemcpy */
\ No newline at end of file +inline void * mem2agpcpy(void * to, const void * from, size_t len) +{ +#ifdef RUNTIME_CPUDETECT +#ifdef CAN_COMPILE_X86_ASM + // ordered per speed fasterst first + if(gCpuCaps.hasMMX2) + mem2agpcpy_MMX2(to, from, len); + else if(gCpuCaps.has3DNow) + mem2agpcpy_3DNow(to, from, len); + else if(gCpuCaps.hasMMX) + mem2agpcpy_MMX(to, from, len); + else +#endif //CAN_COMPILE_X86_ASM + memcpy(to, from, len); // prior to mmx we use the standart memcpy +#else +#ifdef HAVE_MMX2 + mem2agpcpy_MMX2(to, from, len); +#elif defined (HAVE_3DNOW) + mem2agpcpy_3DNow(to, from, len); +#elif defined (HAVE_MMX) + mem2agpcpy_MMX(to, from, len); +#else + memcpy(to, from, len); // prior to mmx we use the standart memcpy +#endif + +#endif //!RUNTIME_CPUDETECT +} + + +#endif /* use fastmemcpy */ + |