diff --git a/mythtv/libs/libmythsoundtouch/sse_gcc.cpp b/mythtv/libs/libmythsoundtouch/sse_gcc.cpp
index c26d9a3..de00bee 100644
a
|
b
|
__attribute__((noinline)) |
125 | 125 | void TDStretchSSE2::overlapMulti(short *output, const short *input) const |
126 | 126 | { |
127 | 127 | asm( |
128 | | "movd %%ecx, %%xmm0 \n\t" |
| 128 | "movd %0, %%xmm0 \n\t" |
129 | 129 | "shl %6 \n\t" |
130 | 130 | "punpckldq %%xmm0, %%xmm0 \n\t" |
131 | 131 | "movq %2, %%xmm2 \n\t" |
… |
… |
void TDStretchSSE2::overlapMulti(short *output, const short *input) const |
158 | 158 | "paddw %%xmm2, %%xmm0 \n\t" |
159 | 159 | "movdqu %%xmm4, (%5) \n\t" |
160 | 160 | "add %6, %5 \n\t" |
161 | | "sub $1, %%ecx \n\t" |
| 161 | "sub $1, %0 \n\t" |
162 | 162 | "jnz 1b \n\t" |
163 | | ::"c"(overlapLength),"m"(sadd),"m"(ones),"r"(input),"r"(pMidBuffer), |
| 163 | ::"r"(overlapLength),"m"(sadd),"m"(ones),"r"(input),"r"(pMidBuffer), |
164 | 164 | "r"(output),"r"((long)channels) |
165 | 165 | ); |
166 | 166 | } |
… |
… |
__attribute__((noinline)) |
169 | 169 | void TDStretchSSE2::overlapStereo(short *output, const short *input) const |
170 | 170 | { |
171 | 171 | asm( |
172 | | "movd %%ecx, %%mm0 \n\t" |
| 172 | "movd %0, %%mm0 \n\t" |
173 | 173 | "pxor %%mm7, %%mm7 \n\t" |
174 | 174 | "punpckldq %%mm0, %%mm0 \n\t" |
175 | 175 | "shr %%ecx \n\t" |
… |
… |
void TDStretchSSE2::overlapStereo(short *output, const short *input) const |
203 | 203 | "paddw %%mm2, %%mm6 \n\t" |
204 | 204 | "movq %%mm4, (%5) \n\t" |
205 | 205 | "add $8, %5 \n\t" |
206 | | "sub $1, %%ecx \n\t" |
| 206 | "sub $1, %0 \n\t" |
207 | 207 | "jnz 1b \n\t" |
208 | 208 | "emms \n\t" |
209 | | ::"c"(overlapLength),"m"(sadd),"m"(ones),"r"(input),"r"(pMidBuffer), |
| 209 | ::"r"(overlapLength),"m"(sadd),"m"(ones),"r"(input),"r"(pMidBuffer), |
210 | 210 | "r"(output) |
211 | 211 | ); |
212 | 212 | } |