| 147 | | @@ -84,9 +83,11 @@ |
|---|
| 148 | | x86_reg i = -len*sizeof(double); |
|---|
| 149 | | if(j == lag-2) { |
|---|
| 150 | | asm volatile( |
|---|
| 151 | | - "movsd %6, %%xmm0 \n\t" |
|---|
| 152 | | - "movsd %6, %%xmm1 \n\t" |
|---|
| 153 | | - "movsd %6, %%xmm2 \n\t" |
|---|
| 154 | | + "movsd %0, %%xmm0 \n\t" |
|---|
| 155 | | + "movsd %0, %%xmm1 \n\t" |
|---|
| 156 | | + "movsd %0, %%xmm2 \n\t" |
|---|
| | 147 | @@ -84,6 +83,8 @@ |
|---|
| | 148 | "movsd "MANGLE(ff_pd_1)", %%xmm0 \n\t" |
|---|
| | 149 | "movsd "MANGLE(ff_pd_1)", %%xmm1 \n\t" |
|---|
| | 150 | "movsd "MANGLE(ff_pd_1)", %%xmm2 \n\t" |
|---|
| 159 | | "1: \n\t" |
|---|
| 160 | | "movapd (%4,%0), %%xmm3 \n\t" |
|---|
| 161 | | "movupd -8(%5,%0), %%xmm4 \n\t" |
|---|
| 162 | | @@ -109,12 +110,14 @@ |
|---|
| 163 | | "movsd %%xmm1, %2 \n\t" |
|---|
| 164 | | "movsd %%xmm2, %3 \n\t" |
|---|
| 165 | | :"+&r"(i), "=m"(autoc[j]), "=m"(autoc[j+1]), "=m"(autoc[j+2]) |
|---|
| 166 | | - :"r"(data1+len), "r"(data1+len-j), "m"(*ff_pd_1) |
|---|
| 167 | | + :"r"(data1+len), "r"(data1+len-j) |
|---|
| 168 | | ); |
|---|
| 169 | | } else { |
|---|
| | 153 | "1: \n\t" |
|---|
| | 154 | "movapd (%4,%0), %%xmm3 \n\t" |
|---|
| | 155 | "movupd -8(%5,%0), %%xmm4 \n\t" |
|---|
| | 156 | @@ -115,6 +116,8 @@ |
|---|
| 177 | | "1: \n\t" |
|---|
| 178 | | "movapd (%3,%0), %%xmm3 \n\t" |
|---|
| 179 | | "movupd -8(%4,%0), %%xmm4 \n\t" |
|---|
| 180 | | @@ -131,7 +134,7 @@ |
|---|
| 181 | | "movsd %%xmm0, %1 \n\t" |
|---|
| 182 | | "movsd %%xmm1, %2 \n\t" |
|---|
| 183 | | :"+&r"(i), "=m"(autoc[j]), "=m"(autoc[j+1]) |
|---|
| 184 | | - :"r"(data1+len), "r"(data1+len-j), "m"(*ff_pd_1) |
|---|
| 185 | | + :"r"(data1+len), "r"(data1+len-j) |
|---|
| 186 | | ); |
|---|
| 187 | | } |
|---|
| 188 | | } |
|---|
| | 162 | "1: \n\t" |
|---|
| | 163 | "movapd (%3,%0), %%xmm3 \n\t" |
|---|
| | 164 | "movupd -8(%4,%0), %%xmm4 \n\t" |
|---|