summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPetri Hintukainen <phintuka@users.sourceforge.net>2012-07-16 22:40:01 +0300
committerPetri Hintukainen <phintuka@users.sourceforge.net>2012-07-16 22:40:01 +0300
commit261fbd8afb17cd5a4644d127b5d3802089249da7 (patch)
tree465b1e4914e57734c888c3cc13351dfa5ef33631 /src
parentdd3bd86c41a0af1b74b1e344e896d1649e83e549 (diff)
downloadxine-lib-261fbd8afb17cd5a4644d127b5d3802089249da7.tar.gz
xine-lib-261fbd8afb17cd5a4644d127b5d3802089249da7.tar.bz2
Added configure check for AVX assembler support
Diffstat (limited to 'src')
-rw-r--r--src/xine-utils/memcpy.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/xine-utils/memcpy.c b/src/xine-utils/memcpy.c
index 277f0f48b..0c44e0808 100644
--- a/src/xine-utils/memcpy.c
+++ b/src/xine-utils/memcpy.c
@@ -259,6 +259,7 @@ static void * sse_memcpy(void * to, const void * from, size_t len)
return retval;
}
+#ifdef HAVE_AVX
static void * avx_memcpy(void * to, const void * from, size_t len)
{
void *retval;
@@ -348,6 +349,7 @@ static void * avx_memcpy(void * to, const void * from, size_t len)
if(len) linux_kernel_memcpy_impl(to, from, len);
return retval;
}
+#endif /* HAVE_AVX */
static void * mmx_memcpy(void * to, const void * from, size_t len)
{
@@ -490,7 +492,9 @@ static const struct {
{ "MMX ", mmx_memcpy, MM_MMX },
{ "MMXEXT", mmx2_memcpy, MM_MMXEXT },
{ "SSE", sse_memcpy, MM_MMXEXT|MM_SSE },
+# ifdef HAVE_AVX
{ "AVX", avx_memcpy, MM_ACCEL_X86_AVX },
+# endif /* HAVE_AVX */
#endif /* ARCH_X86 */
#if defined (ARCH_PPC) && !defined (HOST_OS_DARWIN)
{ "ppcasm", ppcasm_memcpy, 0 },
@@ -570,7 +574,10 @@ void xine_probe_fast_memcpy(xine_t *xine)
static const char *const memcpy_methods[] = {
"probe", "libc",
#if (defined(ARCH_X86) || defined(ARCH_X86_64)) && !defined(_MSC_VER)
- "kernel", "mmx", "mmxext", "sse", "avx",
+ "kernel", "mmx", "mmxext", "sse",
+# ifdef HAVE_AVX
+ "avx",
+# endif /* HAVE_AVX */
#endif
#if defined (ARCH_PPC) && !defined (HOST_OS_DARWIN)
"ppcasm_memcpy", "ppcasm_cacheable_memcpy",