1 Index: libavcodec/i386/dsputil_mmx.c
2 ===================================================================
3 RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/dsputil_mmx.c,v
4 retrieving revision 1.109
5 diff -u -r1.109 dsputil_mmx.c
6 --- libavcodec/i386/dsputil_mmx.c 12 Jan 2006 22:43:17 -0000 1.109
7 +++ libavcodec/i386/dsputil_mmx.c 26 Jan 2006 22:02:55 -0000
9 static const uint64_t ff_pb_3F attribute_used __attribute__ ((aligned(8))) = 0x3F3F3F3F3F3F3F3FULL;
10 static const uint64_t ff_pb_FC attribute_used __attribute__ ((aligned(8))) = 0xFCFCFCFCFCFCFCFCULL;
12 -#define JUMPALIGN() __asm __volatile (".balign 8"::)
13 +#define JUMPALIGN() __asm __volatile (".p2align 3"::)
14 #define MOVQ_ZERO(regd) __asm __volatile ("pxor %%" #regd ", %%" #regd ::)
16 #define MOVQ_WONE(regd) \
19 "mov $-128, %%"REG_a" \n\t"
20 "pxor %%mm7, %%mm7 \n\t"
24 "movq (%0), %%mm0 \n\t"
25 "movq (%0, %2), %%mm2 \n\t"
28 "pxor %%mm7, %%mm7 \n\t"
29 "mov $-128, %%"REG_a" \n\t"
33 "movq (%0), %%mm0 \n\t"
34 "movq (%1), %%mm2 \n\t"
38 "lea (%3, %3), %%"REG_a" \n\t"
42 "movd (%1), %%mm0 \n\t"
43 "movd (%1, %3), %%mm1 \n\t"
47 "lea (%3, %3), %%"REG_a" \n\t"
51 "movq (%1), %%mm0 \n\t"
52 "movq (%1, %3), %%mm1 \n\t"
56 "lea (%3, %3), %%"REG_a" \n\t"
60 "movq (%1), %%mm0 \n\t"
61 "movq 8(%1), %%mm4 \n\t"
62 Index: libavcodec/i386/dsputil_mmx_avg.h
63 ===================================================================
64 RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/dsputil_mmx_avg.h,v
65 retrieving revision 1.29
66 diff -u -r1.29 dsputil_mmx_avg.h
67 --- libavcodec/i386/dsputil_mmx_avg.h 12 Jan 2006 22:43:17 -0000 1.29
68 +++ libavcodec/i386/dsputil_mmx_avg.h 26 Jan 2006 22:02:55 -0000
70 "lea (%3, %3), %%"REG_a" \n\t"
71 "movq (%1), %%mm0 \n\t"
72 PAVGB" 1(%1), %%mm0 \n\t"
76 "movq (%1, %%"REG_a"), %%mm2 \n\t"
77 "movq (%1, %3), %%mm1 \n\t"
78 Index: libavcodec/i386/dsputil_mmx_rnd.h
79 ===================================================================
80 RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/dsputil_mmx_rnd.h,v
81 retrieving revision 1.22
82 diff -u -r1.22 dsputil_mmx_rnd.h
83 --- libavcodec/i386/dsputil_mmx_rnd.h 12 Jan 2006 22:43:17 -0000 1.22
84 +++ libavcodec/i386/dsputil_mmx_rnd.h 26 Jan 2006 22:02:55 -0000
88 "lea (%3, %3), %%"REG_a" \n\t"
92 "movq (%1), %%mm0 \n\t"
93 "movq 1(%1), %%mm1 \n\t"
95 "movq %%mm4, (%3) \n\t"
101 "movq (%1), %%mm0 \n\t"
102 "movq (%2), %%mm1 \n\t"
106 "lea (%3, %3), %%"REG_a" \n\t"
110 "movq (%1), %%mm0 \n\t"
111 "movq 1(%1), %%mm1 \n\t"
113 "movq %%mm5, 8(%3) \n\t"
119 "movq (%1), %%mm0 \n\t"
120 "movq (%2), %%mm1 \n\t"
123 "lea (%3, %3), %%"REG_a" \n\t"
124 "movq (%1), %%mm0 \n\t"
128 "movq (%1, %3), %%mm1 \n\t"
129 "movq (%1, %%"REG_a"),%%mm2 \n\t"
131 "paddusw %%mm1, %%mm5 \n\t"
132 "xor %%"REG_a", %%"REG_a" \n\t"
137 "movq (%1, %%"REG_a"), %%mm0 \n\t"
138 "movq 1(%1, %%"REG_a"), %%mm2 \n\t"
141 "lea (%3, %3), %%"REG_a" \n\t"
142 "movq (%1), %%mm0 \n\t"
146 "movq (%1, %3), %%mm1 \n\t"
147 "movq (%1, %%"REG_a"), %%mm2 \n\t"
149 "paddusw %%mm1, %%mm5 \n\t"
150 "xor %%"REG_a", %%"REG_a" \n\t"
155 "movq (%1, %%"REG_a"), %%mm0 \n\t"
156 "movq 1(%1, %%"REG_a"), %%mm2 \n\t"
157 Index: libavcodec/i386/fdct_mmx.c
158 ===================================================================
159 RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/fdct_mmx.c,v
160 retrieving revision 1.19
161 diff -u -r1.19 fdct_mmx.c
162 --- libavcodec/i386/fdct_mmx.c 22 Dec 2005 01:10:09 -0000 1.19
163 +++ libavcodec/i386/fdct_mmx.c 26 Jan 2006 22:02:55 -0000
164 @@ -350,61 +350,67 @@
166 static always_inline void fdct_row_sse2(const int16_t *in, int16_t *out)
168 +#define FDCT_ROW_SSE2_H1(i,t) \
169 + "movq " #i "(%0), %%xmm2 \n\t" \
170 + "movq " #i "+8(%0), %%xmm0 \n\t" \
171 + "movdqa " #t "+32(%1), %%xmm3 \n\t" \
172 + "movdqa " #t "+48(%1), %%xmm7 \n\t" \
173 + "movdqa " #t "(%1), %%xmm4 \n\t" \
174 + "movdqa " #t "+16(%1), %%xmm5 \n\t"
176 +#define FDCT_ROW_SSE2_H2(i,t) \
177 + "movq " #i "(%0), %%xmm2 \n\t" \
178 + "movq " #i "+8(%0), %%xmm0 \n\t" \
179 + "movdqa " #t "+32(%1), %%xmm3 \n\t" \
180 + "movdqa " #t "+48(%1), %%xmm7 \n\t"
182 +#define FDCT_ROW_SSE2(i) \
183 + "movq %%xmm2, %%xmm1 \n\t" \
184 + "pshuflw $27, %%xmm0, %%xmm0 \n\t" \
185 + "paddsw %%xmm0, %%xmm1 \n\t" \
186 + "psubsw %%xmm0, %%xmm2 \n\t" \
187 + "punpckldq %%xmm2, %%xmm1 \n\t" \
188 + "pshufd $78, %%xmm1, %%xmm2 \n\t" \
189 + "pmaddwd %%xmm2, %%xmm3 \n\t" \
190 + "pmaddwd %%xmm1, %%xmm7 \n\t" \
191 + "pmaddwd %%xmm5, %%xmm2 \n\t" \
192 + "pmaddwd %%xmm4, %%xmm1 \n\t" \
193 + "paddd %%xmm7, %%xmm3 \n\t" \
194 + "paddd %%xmm2, %%xmm1 \n\t" \
195 + "paddd %%xmm6, %%xmm3 \n\t" \
196 + "paddd %%xmm6, %%xmm1 \n\t" \
197 + "psrad %3, %%xmm3 \n\t" \
198 + "psrad %3, %%xmm1 \n\t" \
199 + "packssdw %%xmm3, %%xmm1 \n\t" \
200 + "movdqa %%xmm1, " #i "(%4) \n\t"
203 - ".macro FDCT_ROW_SSE2_H1 i t \n\t"
204 - "movq \\i(%0), %%xmm2 \n\t"
205 - "movq \\i+8(%0), %%xmm0 \n\t"
206 - "movdqa \\t+32(%1), %%xmm3 \n\t"
207 - "movdqa \\t+48(%1), %%xmm7 \n\t"
208 - "movdqa \\t(%1), %%xmm4 \n\t"
209 - "movdqa \\t+16(%1), %%xmm5 \n\t"
211 - ".macro FDCT_ROW_SSE2_H2 i t \n\t"
212 - "movq \\i(%0), %%xmm2 \n\t"
213 - "movq \\i+8(%0), %%xmm0 \n\t"
214 - "movdqa \\t+32(%1), %%xmm3 \n\t"
215 - "movdqa \\t+48(%1), %%xmm7 \n\t"
217 - ".macro FDCT_ROW_SSE2 i \n\t"
218 - "movq %%xmm2, %%xmm1 \n\t"
219 - "pshuflw $27, %%xmm0, %%xmm0 \n\t"
220 - "paddsw %%xmm0, %%xmm1 \n\t"
221 - "psubsw %%xmm0, %%xmm2 \n\t"
222 - "punpckldq %%xmm2, %%xmm1 \n\t"
223 - "pshufd $78, %%xmm1, %%xmm2 \n\t"
224 - "pmaddwd %%xmm2, %%xmm3 \n\t"
225 - "pmaddwd %%xmm1, %%xmm7 \n\t"
226 - "pmaddwd %%xmm5, %%xmm2 \n\t"
227 - "pmaddwd %%xmm4, %%xmm1 \n\t"
228 - "paddd %%xmm7, %%xmm3 \n\t"
229 - "paddd %%xmm2, %%xmm1 \n\t"
230 - "paddd %%xmm6, %%xmm3 \n\t"
231 - "paddd %%xmm6, %%xmm1 \n\t"
232 - "psrad %3, %%xmm3 \n\t"
233 - "psrad %3, %%xmm1 \n\t"
234 - "packssdw %%xmm3, %%xmm1 \n\t"
235 - "movdqa %%xmm1, \\i(%4) \n\t"
237 +// ".macro FDCT_ROW_SSE2_H1 i t \n\t"
239 +// ".macro FDCT_ROW_SSE2_H2 i t \n\t"
241 +// ".macro FDCT_ROW_SSE2 i \n\t"
243 "movdqa (%2), %%xmm6 \n\t"
244 - "FDCT_ROW_SSE2_H1 0 0 \n\t"
245 - "FDCT_ROW_SSE2 0 \n\t"
246 - "FDCT_ROW_SSE2_H2 64 0 \n\t"
247 - "FDCT_ROW_SSE2 64 \n\t"
249 - "FDCT_ROW_SSE2_H1 16 64 \n\t"
250 - "FDCT_ROW_SSE2 16 \n\t"
251 - "FDCT_ROW_SSE2_H2 112 64 \n\t"
252 - "FDCT_ROW_SSE2 112 \n\t"
254 - "FDCT_ROW_SSE2_H1 32 128 \n\t"
255 - "FDCT_ROW_SSE2 32 \n\t"
256 - "FDCT_ROW_SSE2_H2 96 128 \n\t"
257 - "FDCT_ROW_SSE2 96 \n\t"
259 - "FDCT_ROW_SSE2_H1 48 192 \n\t"
260 - "FDCT_ROW_SSE2 48 \n\t"
261 - "FDCT_ROW_SSE2_H2 80 192 \n\t"
262 - "FDCT_ROW_SSE2 80 \n\t"
263 + FDCT_ROW_SSE2_H1(0,0)
265 + FDCT_ROW_SSE2_H2(64,0)
268 + FDCT_ROW_SSE2_H1(16,64)
270 + FDCT_ROW_SSE2_H2(112,64)
273 + FDCT_ROW_SSE2_H1(32,128)
275 + FDCT_ROW_SSE2_H2(96,128)
278 + FDCT_ROW_SSE2_H1(48,192)
280 + FDCT_ROW_SSE2_H2(80,192)
283 : "r" (in), "r" (tab_frw_01234567_sse2.tab_frw_01234567_sse2), "r" (fdct_r_row_sse2.fdct_r_row_sse2), "i" (SHIFT_FRW_ROW), "r" (out)
285 Index: libavcodec/i386/idct_mmx_xvid.c
286 ===================================================================
287 RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/idct_mmx_xvid.c,v
288 retrieving revision 1.4
289 diff -u -r1.4 idct_mmx_xvid.c
290 --- libavcodec/i386/idct_mmx_xvid.c 12 Jan 2006 22:43:18 -0000 1.4
291 +++ libavcodec/i386/idct_mmx_xvid.c 26 Jan 2006 22:02:55 -0000
292 @@ -295,17 +295,17 @@
293 "movq 8+" #A1 ",%%mm1 \n\t"/* 1 ; x7 x6 x5 x4*/\
294 "movq %%mm0,%%mm2 \n\t"/* 2 ; x3 x2 x1 x0*/\
295 "movq " #A3 ",%%mm3 \n\t"/* 3 ; w05 w04 w01 w00*/\
296 - "pshufw $0b10001000,%%mm0,%%mm0 \n\t"/* x2 x0 x2 x0*/\
297 + "pshufw $0x88,%%mm0,%%mm0 \n\t"/* x2 x0 x2 x0*/\
298 "movq 8+" #A3 ",%%mm4 \n\t"/* 4 ; w07 w06 w03 w02*/\
299 "movq %%mm1,%%mm5 \n\t"/* 5 ; x7 x6 x5 x4*/\
300 "pmaddwd %%mm0,%%mm3 \n\t"/* x2*w05+x0*w04 x2*w01+x0*w00*/\
301 "movq 32+" #A3 ",%%mm6 \n\t"/* 6 ; w21 w20 w17 w16*/\
302 - "pshufw $0b10001000,%%mm1,%%mm1 \n\t"/* x6 x4 x6 x4*/\
303 + "pshufw $0x88,%%mm1,%%mm1 \n\t"/* x6 x4 x6 x4*/\
304 "pmaddwd %%mm1,%%mm4 \n\t"/* x6*w07+x4*w06 x6*w03+x4*w02*/\
305 "movq 40+" #A3 ",%%mm7 \n\t"/* 7 ; w23 w22 w19 w18*/\
306 - "pshufw $0b11011101,%%mm2,%%mm2 \n\t"/* x3 x1 x3 x1*/\
307 + "pshufw $0xdd,%%mm2,%%mm2 \n\t"/* x3 x1 x3 x1*/\
308 "pmaddwd %%mm2,%%mm6 \n\t"/* x3*w21+x1*w20 x3*w17+x1*w16*/\
309 - "pshufw $0b11011101,%%mm5,%%mm5 \n\t"/* x7 x5 x7 x5*/\
310 + "pshufw $0xdd,%%mm5,%%mm5 \n\t"/* x7 x5 x7 x5*/\
311 "pmaddwd %%mm5,%%mm7 \n\t"/* x7*w23+x5*w22 x7*w19+x5*w18*/\
312 "paddd " #A4 ",%%mm3 \n\t"/* +%4*/\
313 "pmaddwd 16+" #A3 ",%%mm0 \n\t"/* x2*w13+x0*w12 x2*w09+x0*w08*/\
315 "packssdw %%mm0,%%mm3 \n\t"/* 0 ; y3 y2 y1 y0*/\
316 "packssdw %%mm4,%%mm7 \n\t"/* 4 ; y6 y7 y4 y5*/\
317 "movq %%mm3, " #A2 " \n\t"/* 3 ; save y3 y2 y1 y0*/\
318 - "pshufw $0b10110001,%%mm7,%%mm7 \n\t"/* y7 y6 y5 y4*/\
319 + "pshufw $0xb1,%%mm7,%%mm7 \n\t"/* y7 y6 y5 y4*/\
320 "movq %%mm7,8 +" #A2 "\n\t"/* 7 ; save y7 y6 y5 y4*/\
323 Index: libavcodec/i386/motion_est_mmx.c
324 ===================================================================
325 RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/motion_est_mmx.c,v
326 retrieving revision 1.19
327 diff -u -r1.19 motion_est_mmx.c
328 --- libavcodec/i386/motion_est_mmx.c 12 Jan 2006 22:43:18 -0000 1.19
329 +++ libavcodec/i386/motion_est_mmx.c 26 Jan 2006 22:02:55 -0000
332 long len= -(stride*h);
337 "movq (%1, %%"REG_a"), %%mm0 \n\t"
338 "movq (%2, %%"REG_a"), %%mm2 \n\t"
341 long len= -(stride*h);
346 "movq (%1, %%"REG_a"), %%mm0 \n\t"
347 "movq (%2, %%"REG_a"), %%mm2 \n\t"
350 long len= -(stride*h);
355 "movq (%1, %%"REG_a"), %%mm0 \n\t"
356 "movq (%2, %%"REG_a"), %%mm2 \n\t"
359 long len= -(stride*h);
363 "movq "MANGLE(bone)", %%mm5 \n\t"
365 "movq (%1, %%"REG_a"), %%mm0 \n\t"
368 long len= -(stride*h);
373 "movq (%1, %%"REG_a"), %%mm0 \n\t"
374 "movq (%2, %%"REG_a"), %%mm1 \n\t"
377 long len= -(stride*h);
382 "movq (%1, %%"REG_a"), %%mm0 \n\t"
383 "movq (%2, %%"REG_a"), %%mm1 \n\t"
384 Index: libavcodec/i386/mpegvideo_mmx.c
385 ===================================================================
386 RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/mpegvideo_mmx.c,v
387 retrieving revision 1.37
388 diff -u -r1.37 mpegvideo_mmx.c
389 --- libavcodec/i386/mpegvideo_mmx.c 12 Jan 2006 22:43:18 -0000 1.37
390 +++ libavcodec/i386/mpegvideo_mmx.c 26 Jan 2006 22:02:55 -0000
392 "packssdw %%mm5, %%mm5 \n\t"
393 "psubw %%mm5, %%mm7 \n\t"
394 "pxor %%mm4, %%mm4 \n\t"
398 "movq (%0, %3), %%mm0 \n\t"
399 "movq 8(%0, %3), %%mm1 \n\t"
401 "packssdw %%mm5, %%mm5 \n\t"
402 "psubw %%mm5, %%mm7 \n\t"
403 "pxor %%mm4, %%mm4 \n\t"
407 "movq (%0, %3), %%mm0 \n\t"
408 "movq 8(%0, %3), %%mm1 \n\t"
410 "packssdw %%mm6, %%mm6 \n\t"
411 "packssdw %%mm6, %%mm6 \n\t"
412 "mov %3, %%"REG_a" \n\t"
416 "movq (%0, %%"REG_a"), %%mm0 \n\t"
417 "movq 8(%0, %%"REG_a"), %%mm1 \n\t"
419 "packssdw %%mm6, %%mm6 \n\t"
420 "packssdw %%mm6, %%mm6 \n\t"
421 "mov %3, %%"REG_a" \n\t"
425 "movq (%0, %%"REG_a"), %%mm0 \n\t"
426 "movq 8(%0, %%"REG_a"), %%mm1 \n\t"
428 "packssdw %%mm6, %%mm6 \n\t"
429 "packssdw %%mm6, %%mm6 \n\t"
430 "mov %3, %%"REG_a" \n\t"
434 "movq (%0, %%"REG_a"), %%mm0 \n\t"
435 "movq 8(%0, %%"REG_a"), %%mm1 \n\t"
437 "packssdw %%mm6, %%mm6 \n\t"
438 "packssdw %%mm6, %%mm6 \n\t"
439 "mov %3, %%"REG_a" \n\t"
443 "movq (%0, %%"REG_a"), %%mm0 \n\t"
444 "movq 8(%0, %%"REG_a"), %%mm1 \n\t"
445 Index: libavcodec/i386/mpegvideo_mmx_template.c
446 ===================================================================
447 RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/mpegvideo_mmx_template.c,v
448 retrieving revision 1.29
449 diff -u -r1.29 mpegvideo_mmx_template.c
450 --- libavcodec/i386/mpegvideo_mmx_template.c 12 Jan 2006 22:43:18 -0000 1.29
451 +++ libavcodec/i386/mpegvideo_mmx_template.c 26 Jan 2006 22:02:55 -0000
453 "pxor %%mm6, %%mm6 \n\t"
454 "psubw (%3), %%mm6 \n\t" // -bias[0]
455 "mov $-128, %%"REG_a" \n\t"
459 "pxor %%mm1, %%mm1 \n\t" // 0
460 "movq (%1, %%"REG_a"), %%mm0 \n\t" // block[i]
462 "pxor %%mm7, %%mm7 \n\t" // 0
463 "pxor %%mm4, %%mm4 \n\t" // 0
464 "mov $-128, %%"REG_a" \n\t"
468 "pxor %%mm1, %%mm1 \n\t" // 0
469 "movq (%1, %%"REG_a"), %%mm0 \n\t" // block[i]
470 Index: libavcodec/i386/simple_idct_mmx.c
471 ===================================================================
472 RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/simple_idct_mmx.c,v
473 retrieving revision 1.16
474 diff -u -r1.16 simple_idct_mmx.c
475 --- libavcodec/i386/simple_idct_mmx.c 12 Jan 2006 22:43:18 -0000 1.16
476 +++ libavcodec/i386/simple_idct_mmx.c 26 Jan 2006 22:02:55 -0000
477 @@ -459,13 +459,12 @@
480 //IDCT( src0, src4, src1, src5, dst, rounder, shift)
481 -COL_IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
482 -COL_IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
483 -COL_IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
484 -COL_IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
485 +COL_IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
486 +COL_IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
487 +COL_IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
488 +COL_IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
492 #define DC_COND_IDCT(src0, src4, src1, src5, dst, rounder, shift) \
493 "movq " #src0 ", %%mm0 \n\t" /* R4 R0 r4 r0 */\
494 "movq " #src4 ", %%mm1 \n\t" /* R6 R2 r6 r2 */\
495 @@ -783,10 +782,10 @@
498 //IDCT( src0, src4, src1, src5, dst, rounder, shift)
499 -IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
500 -IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
501 -IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
502 -IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
503 +IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
504 +IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
505 +IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
506 +IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
510 @@ -860,10 +859,10 @@
511 "movd %%mm5, 80+" #dst " \n\t"
513 //IDCT( src0, src4, src1, src5, dst, rounder, shift)
514 -IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
515 -IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
516 -IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
517 -IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
518 +IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
519 +IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
520 +IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
521 +IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
525 @@ -928,10 +927,10 @@
528 //IDCT( src0, src4, src1, src5, dst, rounder, shift)
529 -IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
530 -IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
531 -IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
532 -IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
533 +IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
534 +IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
535 +IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
536 +IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
540 @@ -1007,10 +1006,10 @@
541 "movd %%mm5, 80+" #dst " \n\t"
543 //IDCT( src0, src4, src1, src5, dst, rounder, shift)
544 -IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
545 -IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
546 -IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
547 -IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
548 +IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
549 +IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
550 +IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
551 +IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
555 @@ -1073,10 +1072,10 @@
558 //IDCT( src0, src4, src1, src5, dst, rounder, shift)
559 -IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
560 -IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
561 -IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
562 -IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
563 +IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
564 +IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
565 +IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
566 +IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
570 @@ -1141,10 +1140,10 @@
573 //IDCT( src0, src4, src1, src5, dst, rounder, shift)
574 -IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
575 -//IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
576 -IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
577 -//IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
578 +IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
579 +//IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
580 +IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
581 +//IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
585 @@ -1217,10 +1216,10 @@
588 //IDCT( src0, src4, src1, src5, dst, rounder, shift)
589 -IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
590 -IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
591 -IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
592 -IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
593 +IDCT( (%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
594 +IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
595 +IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
596 +IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)
600 @@ -1259,10 +1258,10 @@
601 "movq %%mm0, 80+" #dst " \n\t"
603 //IDCT( src0, src4, src1, src5, dst, rounder, shift)
604 -IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0),/nop, 20)
605 -//IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0),/nop, 20)
606 -IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0),/nop, 20)
607 -//IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
608 +IDCT( 0(%1), 64(%1), 32(%1), 96(%1), 0(%0), "nop", 20)
609 +//IDCT( 8(%1), 72(%1), 40(%1), 104(%1), 4(%0), "nop", 20)
610 +IDCT( 16(%1), 80(%1), 48(%1), 112(%1), 8(%0), "nop", 20)
611 +//IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0), "nop", 20)