From 4a1289450a0597fa915891ea9ce1e254a80d8f5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Sat, 2 Jan 2010 17:48:08 +0000 Subject: [PATCH] Reduce number of ASM constraints for ff_lpc_compute_autocorr_sse2 since it causes no significant speed difference and can avoid compilation issues with --enable-pic. Originally committed as revision 21003 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/x86/lpc_mmx.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/libavcodec/x86/lpc_mmx.c b/libavcodec/x86/lpc_mmx.c index 40fc678b7c..2ef5fa6de3 100644 --- a/libavcodec/x86/lpc_mmx.c +++ b/libavcodec/x86/lpc_mmx.c @@ -89,12 +89,12 @@ void ff_lpc_compute_autocorr_sse2(const int32_t *data, int len, int lag, "movsd "MANGLE(ff_pd_1)", %%xmm1 \n\t" "movsd "MANGLE(ff_pd_1)", %%xmm2 \n\t" "1: \n\t" - "movapd (%4,%0), %%xmm3 \n\t" - "movupd -8(%5,%0), %%xmm4 \n\t" - "movapd (%5,%0), %%xmm5 \n\t" + "movapd (%2,%0), %%xmm3 \n\t" + "movupd -8(%3,%0), %%xmm4 \n\t" + "movapd (%3,%0), %%xmm5 \n\t" "mulpd %%xmm3, %%xmm4 \n\t" "mulpd %%xmm3, %%xmm5 \n\t" - "mulpd -16(%5,%0), %%xmm3 \n\t" + "mulpd -16(%3,%0), %%xmm3 \n\t" "addpd %%xmm4, %%xmm1 \n\t" "addpd %%xmm5, %%xmm0 \n\t" "addpd %%xmm3, %%xmm2 \n\t" @@ -106,11 +106,12 @@ void ff_lpc_compute_autocorr_sse2(const int32_t *data, int len, int lag, "addsd %%xmm3, %%xmm0 \n\t" "addsd %%xmm4, %%xmm1 \n\t" "addsd %%xmm5, %%xmm2 \n\t" - "movsd %%xmm0, %1 \n\t" - "movsd %%xmm1, %2 \n\t" - "movsd %%xmm2, %3 \n\t" - :"+&r"(i), "=m"(autoc[j]), "=m"(autoc[j+1]), "=m"(autoc[j+2]) - :"r"(data1+len), "r"(data1+len-j) + "movsd %%xmm0, (%1) \n\t" + "movsd %%xmm1, 8(%1) \n\t" + "movsd %%xmm2, 16(%1) \n\t" + :"+&r"(i) + :"r"(autoc+j), "r"(data1+len), "r"(data1+len-j) + :"memory" ); } else { __asm__ volatile(