aboutsummaryrefslogtreecommitdiffhomepage
path: root/liba52
diff options
context:
space:
mode:
authorGravatar michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-06-02 20:54:03 +0000
committerGravatar michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-06-02 20:54:03 +0000
commit3f3ef3d48b62dc4b065be2f182ad635b4c083ca4 (patch)
tree6ec0747b4b55700f563fb2569b7b311cf16b4ce0 /liba52
parentc9f8f44dbeb88fad8e45d8565aa7c3ed186ed707 (diff)
one bugfix and a few gcc4 bug workaorunds by (Gianluigi Tiesi: mplayer, netfarm it)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15618 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'liba52')
-rw-r--r--liba52/imdct.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/liba52/imdct.c b/liba52/imdct.c
index 67deab8904..68140fc816 100644
--- a/liba52/imdct.c
+++ b/liba52/imdct.c
@@ -770,6 +770,8 @@ imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias)
int m;
int two_m;
int two_m_plus_one;
+ int two_m_plus_one_shl3;
+ complex_t *buf_offset;
/* sample_t tmp_a_i;
sample_t tmp_a_r;
@@ -938,6 +940,8 @@ imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias)
for (m=3; m < 7; m++) {
two_m = (1 << m);
two_m_plus_one = two_m<<1;
+ two_m_plus_one_shl3 = (two_m_plus_one<<3);
+ buf_offset = buf+128;
asm volatile(
"movl %0, %%esi \n\t"
".balign 16 \n\t"
@@ -963,7 +967,7 @@ imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias)
"addl %2, %%esi \n\t"
"cmpl %1, %%esi \n\t"
" jb 1b \n\t"
- :: "g" (buf), "m" (buf+128), "m" (two_m_plus_one<<3), "r" (two_m<<3),
+ :: "g" (buf), "m" (buf_offset), "m" (two_m_plus_one_shl3), "r" (two_m<<3),
"r" (sseW[m])
: "%esi", "%edi", "%edx"
);