summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorVitor Sessak <vitor1001@gmail.com>2010-06-24 08:46:47 +0000
committerVitor Sessak <vitor1001@gmail.com>2010-06-24 08:46:47 +0000
commit57dbd12b6dcff29526ae0da5168d70146cc72b39 (patch)
tree1dad6191906bb014894f17deca9513f85bf52fb4 /libavcodec/x86
parent986f143a388bdeb6d641df0c4cf7a76fbecdeb41 (diff)
Fix asm constraints in apply_window()
Originally committed as revision 23752 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/mpegaudiodec_mmx.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/libavcodec/x86/mpegaudiodec_mmx.c b/libavcodec/x86/mpegaudiodec_mmx.c
index 39122b8812..d9efffdbba 100644
--- a/libavcodec/x86/mpegaudiodec_mmx.c
+++ b/libavcodec/x86/mpegaudiodec_mmx.c
@@ -51,11 +51,11 @@ static void apply_window(const float *buf, const float *win1,
#define MULT(a, b) \
- "movaps " #a "(%0,%5), %%xmm1 \n\t" \
- "movaps " #a "(%2,%5), %%xmm2 \n\t" \
+ "movaps " #a "(%1,%0), %%xmm1 \n\t" \
+ "movaps " #a "(%3,%0), %%xmm2 \n\t" \
"mulps %%xmm2, %%xmm1 \n\t" \
"subps %%xmm1, %%xmm0 \n\t" \
- "mulps " #b "(%1,%5), %%xmm2 \n\t" \
+ "mulps " #b "(%2,%0), %%xmm2 \n\t" \
"subps %%xmm2, %%xmm4 \n\t" \
__asm__ volatile(
@@ -72,11 +72,12 @@ static void apply_window(const float *buf, const float *win1,
MULT(1536, 384)
MULT(1792, 448)
- "movaps %%xmm0, (%3,%5) \n\t"
- "movaps %%xmm4, (%4,%5) \n\t"
- "addl $16, %5 \n\t"
+ "movaps %%xmm0, (%4,%0) \n\t"
+ "movaps %%xmm4, (%5,%0) \n\t"
+ "addl $16, %0 \n\t"
"jl 1b \n\t"
- :"+&r"(win1a), "+&r"(win2a), "+&r"(bufa), "+&r"(sum1a), "+&r"(sum2a), "+&r"(count)
+ :"+&r"(count)
+ :"r"(win1a), "r"(win2a), "r"(bufa), "r"(sum1a), "r"(sum2a)
);
#undef MULT