[MPlayer-dev-eng] [PATCH] Saturation & PSWAPD bugfix in mp3lib/dct64_3dnow.c & mp3lib/dct64_k7.c

Zuxy Meng zuxy.meng at gmail.com
Wed Jun 21 15:30:45 CEST 2006


2006/6/21, Diego Biurrun <diego at biurrun.de>:
> On Wed, Jun 21, 2006 at 08:50:37PM +0800, Zuxy Meng wrote:
> >
> > In addition, a false dependency of MMX2 in dct64_k7.c is also fixed
> > (replace pshufw $78 with pswapd) so it can be used on a K6-2/3+.
>
> Could you please split this into two different patches?
>

Sans problèms.

-- 
Zuxy
Beauty is truth,
While truth is beauty.
PGP KeyID: E8555ED6
-------------- next part --------------
--- mplayer/mp3lib/dct64_3dnow.c	2006-06-07 12:53:34.000000000 +0800
+++ mplayer.new/mp3lib/dct64_3dnow.c	2006-06-21 21:18:24.000000000 +0800
@@ -746,21 +746,23 @@
 "	pfacc	%%mm1, %%mm0\n\t"
 "	pfmul	%%mm6, %%mm0\n\t"
 "	pf2id	%%mm0, %%mm0\n\t"
+"	packssdw %%mm0, %%mm0\n\t"
 "	movd	%%mm0, %%eax\n\t"
 "	movw    %%ax, 512(%%esi)\n\t"
-"	psrlq	$32, %%mm0\n\t"
-"	movd	%%mm0, %%eax\n\t"
+"	shrl	$16, %%eax\n\t"
 "	movw    %%ax, (%%esi)\n\t"
 
 "	movd    12(%%ecx), %%mm0\n\t"
 "	pfsub    8(%%ecx), %%mm0\n\t"
 "	pfmul  120(%%ebx), %%mm0\n\t"
 "	pf2id    %%mm0, %%mm7\n\t"
+"	packssdw %%mm7, %%mm7\n\t"
 "	movd	 %%mm7, %%eax\n\t"
 "	movw     %%ax, 256(%%edi)\n\t"
 "	pfadd   12(%%ecx), %%mm0\n\t"
 "	pfadd    8(%%ecx), %%mm0\n\t"
 "	pf2id    %%mm0, %%mm0\n\t"
+"	packssdw %%mm0, %%mm0\n\t"
 "	movd	 %%mm0, %%eax\n\t"
 "	movw     %%ax, 256(%%esi)\n\t"
 
@@ -775,6 +777,7 @@
 "	movq   %%mm2, %%mm1\n\t"
 
 "	pf2id  %%mm2, %%mm7\n\t"
+"	packssdw %%mm7, %%mm7\n\t"
 "	movd   %%mm7, %%eax\n\t"
 "	movw   %%ax, 384(%%edi)\n\t"
 
@@ -785,14 +788,17 @@
 "	pfadd  16(%%ecx), %%mm0\n\t"
 "	pfadd  20(%%ecx), %%mm0\n\t"
 "	pf2id  %%mm0, %%mm0\n\t"
+"	packssdw %%mm0, %%mm0\n\t"
 "	movd   %%mm0, %%eax\n\t"
 "	movw   %%ax, 384(%%esi)\n\t"
 "	pfadd  %%mm3, %%mm1\n\t"
 "	pf2id  %%mm1, %%mm1\n\t"
+"	packssdw %%mm1, %%mm1\n\t"
 "	movd   %%mm1, %%eax\n\t"
 "	movw   %%ax, 128(%%esi)\n\t"
 "	pfadd  %%mm3, %%mm2\n\t"
 "	pf2id  %%mm2, %%mm2\n\t"
+"	packssdw %%mm2, %%mm2\n\t"
 "	movd   %%mm2, %%eax\n\t"
 "	movw   %%ax, 128(%%edi)\n\t"
 
@@ -804,14 +810,14 @@
 "	pfadd   40(%%edx), %%mm1\n\t"
 "	pf2id   %%mm0, %%mm0\n\t"
 "	pf2id   %%mm1, %%mm1\n\t"
+"	packssdw %%mm0, %%mm0\n\t"
+"	packssdw %%mm1, %%mm1\n\t"
 "	movd	%%mm0, %%eax\n\t"
 "	movd	%%mm1, %%ecx\n\t"
 "	movw    %%ax, 448(%%esi)\n\t"
 "	movw    %%cx, 320(%%esi)\n\t"
-"	psrlq   $32, %%mm0\n\t"
-"	psrlq   $32, %%mm1\n\t"
-"	movd	%%mm0, %%eax\n\t"
-"	movd	%%mm1, %%ecx\n\t"
+"	shrl	$16, %%eax\n\t"
+"	shrl	$16, %%ecx\n\t"
 "	movw    %%ax, 64(%%edi)\n\t"
 "	movw    %%cx, 192(%%edi)\n\t"
 
@@ -829,28 +835,30 @@
 "	pfadd  %%mm4, %%mm3\n\t"
 "	pf2id  %%mm0, %%mm1\n\t"
 "	pf2id  %%mm3, %%mm3\n\t"
+"	packssdw %%mm0, %%mm0\n\t"
+"	packssdw %%mm3, %%mm3\n\t"
 "	pfadd  88(%%edx), %%mm5\n\t"
 "	movd   %%mm1, %%eax\n\t"
 "	movd   %%mm3, %%ecx\n\t"
 "	movw   %%ax, 448(%%edi)\n\t"
 "	movw   %%cx, 192(%%esi)\n\t"
 "	pf2id  %%mm5, %%mm5\n\t"
-"	psrlq  $32, %%mm1\n\t"
-"       psrlq  $32, %%mm3\n\t"
+"	packssdw %%mm5, %%mm5\n\t"
+"	shrl   $16, %%eax\n\t"
+"	shrl   $16, %%ecx\n\t"
 "	movd   %%mm5, %%ebx\n\t"
-"	movd   %%mm1, %%eax\n\t"
-"	movd   %%mm3, %%ecx\n\t"
 "	movw   %%bx, 96(%%esi)\n\t"
 "	movw   %%ax, 480(%%edi)\n\t"
 "	movw   %%cx, 64(%%esi)\n\t"
 "	pfadd  %%mm2, %%mm0\n\t"
 "	pf2id  %%mm0, %%mm0\n\t"
+"	packssdw %%mm0, %%mm0\n\t"
 "	movd   %%mm0, %%eax\n\t"
 "	pfadd  68(%%edx), %%mm6\n\t"
 "	movw   %%ax, 320(%%edi)\n\t"
-"	psrlq  $32, %%mm0\n\t"
+"	shr    $16, %%eax\n\t"
 "	pf2id  %%mm6, %%mm6\n\t"
-"	movd   %%mm0, %%eax\n\t"
+"	packssdw %%mm6, %%mm6\n\t"
 "	movd   %%mm6, %%ebx\n\t"
 "	movw   %%ax, 416(%%edi)\n\t"
 "	movw   %%bx, 32(%%esi)\n\t"
@@ -870,18 +878,18 @@
 "	pf2id  %%mm0, %%mm0\n\t"
 "	pf2id  %%mm2, %%mm2\n\t"
 "	pf2id  %%mm4, %%mm4\n\t"
+"	packssdw %%mm0, %%mm0\n\t"
+"	packssdw %%mm2, %%mm2\n\t"
+"	packssdw %%mm4, %%mm4\n\t"
 "	movd   %%mm0, %%eax\n\t"
 "	movd   %%mm2, %%ecx\n\t"
 "	movd   %%mm4, %%ebx\n\t"
 "	movw   %%ax, 480(%%esi)\n\t"
 "	movw   %%cx, 352(%%esi)\n\t"
 "	movw   %%bx, 224(%%esi)\n\t"
-"	psrlq  $32, %%mm0\n\t"
-"	psrlq  $32, %%mm2\n\t"
-"	psrlq  $32, %%mm4\n\t"
-"	movd   %%mm0, %%eax\n\t"
-"	movd   %%mm2, %%ecx\n\t"
-"	movd   %%mm4, %%ebx\n\t"
+"	shrl   $16, %%eax\n\t"
+"	shrl   $16, %%ecx\n\t"
+"	shrl   $16, %%ebx\n\t"
 "	movw   %%ax, 32(%%edi)\n\t"
 "	movw   %%cx, 160(%%edi)\n\t"
 "	movw   %%bx, 288(%%edi)\n\t"
@@ -891,15 +899,18 @@
 "	pf2id  %%mm1, %%mm1\n\t"
 "	pf2id  %%mm3, %%mm3\n\t"
 "	pf2id  %%mm5, %%mm5\n\t"
+"	packssdw %%mm1, %%mm1\n\t"
+"	packssdw %%mm3, %%mm3\n\t"
+"	packssdw %%mm5, %%mm5\n\t"
 "	movd   %%mm1, %%eax\n\t"
 "	movd   %%mm3, %%ecx\n\t"
 "	movd   %%mm5, %%ebx\n\t"
 "	movw   %%ax, 416(%%esi)\n\t"
 "	movw   %%cx, 288(%%esi)\n\t"
 "	movw   %%bx, 160(%%esi)\n\t"
-"	psrlq  $32, %%mm1\n\t"
-"	psrlq  $32, %%mm3\n\t"
-"	psrlq  $32, %%mm5\n\t"
+"	shrl   $16, %%eax\n\t"
+"	shrl   $16, %%ecx\n\t"
+"	shrl   $16, %%ebx\n\t"
 "	movd   %%mm1, %%eax\n\t"
 "	movd   %%mm3, %%ecx\n\t"
 "	movd   %%mm5, %%ebx\n\t"
--- mplayer/mp3lib/dct64_k7.c	2006-06-07 12:53:34.000000000 +0800
+++ mplayer.new/mp3lib/dct64_k7.c	2006-06-21 21:27:41.000000000 +0800
@@ -591,7 +591,7 @@
 "	pxor    %%mm7, %%mm1\n\t"
 "	pfacc	%%mm1, %%mm0\n\t"
 "	pfmul	%%mm6, %%mm0\n\t"
-"	pf2id	%%mm0, %%mm0\n\t"
+"	pf2iw	%%mm0, %%mm0\n\t"
 "	movd	%%mm0, %%eax\n\t"
 "	movw    %%ax, 512(%%esi)\n\t"
 "	psrlq	$32, %%mm0\n\t"
@@ -601,12 +601,12 @@
 "	movd    12(%%ecx), %%mm0\n\t"
 "	pfsub    8(%%ecx), %%mm0\n\t"
 "	pfmul  120(%%ebx), %%mm0\n\t"
-"	pf2id    %%mm0, %%mm7\n\t"
+"	pf2iw    %%mm0, %%mm7\n\t"
 "	movd	 %%mm7, %%eax\n\t"
 "	movw     %%ax, 256(%%edi)\n\t"
 "	pfadd   12(%%ecx), %%mm0\n\t"
 "	pfadd    8(%%ecx), %%mm0\n\t"
-"	pf2id    %%mm0, %%mm0\n\t"
+"	pf2iw    %%mm0, %%mm0\n\t"
 "	movd	 %%mm0, %%eax\n\t"
 "	movw     %%ax, 256(%%esi)\n\t"
 
@@ -620,7 +620,7 @@
 "	pfmul 120(%%ebx), %%mm2\n\t"
 "	movq   %%mm2, %%mm1\n\t"
 
-"	pf2id  %%mm2, %%mm7\n\t"
+"	pf2iw  %%mm2, %%mm7\n\t"
 "	movd   %%mm7, %%eax\n\t"
 "	movw   %%ax, 384(%%edi)\n\t"
 
@@ -630,15 +630,15 @@
 
 "	pfadd  16(%%ecx), %%mm0\n\t"
 "	pfadd  20(%%ecx), %%mm0\n\t"
-"	pf2id  %%mm0, %%mm0\n\t"
+"	pf2iw  %%mm0, %%mm0\n\t"
 "	movd   %%mm0, %%eax\n\t"
 "	movw   %%ax, 384(%%esi)\n\t"
 "	pfadd  %%mm3, %%mm1\n\t"
-"	pf2id  %%mm1, %%mm1\n\t"
+"	pf2iw  %%mm1, %%mm1\n\t"
 "	movd   %%mm1, %%eax\n\t"
 "	movw   %%ax, 128(%%esi)\n\t"
 "	pfadd  %%mm3, %%mm2\n\t"
-"	pf2id  %%mm2, %%mm2\n\t"
+"	pf2iw  %%mm2, %%mm2\n\t"
 "	movd   %%mm2, %%eax\n\t"
 "	movw   %%ax, 128(%%edi)\n\t"
 
@@ -648,8 +648,8 @@
 "	movq    48(%%edx), %%mm1\n\t"
 "	pfadd   48(%%edx), %%mm0\n\t"
 "	pfadd   40(%%edx), %%mm1\n\t"
-"	pf2id   %%mm0, %%mm0\n\t"
-"	pf2id   %%mm1, %%mm1\n\t"
+"	pf2iw   %%mm0, %%mm0\n\t"
+"	pf2iw   %%mm1, %%mm1\n\t"
 "	movd	%%mm0, %%eax\n\t"
 "	movd	%%mm1, %%ecx\n\t"
 "	movw    %%ax, 448(%%esi)\n\t"
@@ -673,14 +673,14 @@
 "	punpckldq 92(%%edx), %%mm2\n\t"
 "	movq  %%mm5, %%mm6\n\t"
 "	pfadd  %%mm4, %%mm3\n\t"
-"	pf2id  %%mm0, %%mm1\n\t"
-"	pf2id  %%mm3, %%mm3\n\t"
+"	pf2iw  %%mm0, %%mm1\n\t"
+"	pf2iw  %%mm3, %%mm3\n\t"
 "	pfadd  88(%%edx), %%mm5\n\t"
 "	movd   %%mm1, %%eax\n\t"
 "	movd   %%mm3, %%ecx\n\t"
 "	movw   %%ax, 448(%%edi)\n\t"
 "	movw   %%cx, 192(%%esi)\n\t"
-"	pf2id  %%mm5, %%mm5\n\t"
+"	pf2iw  %%mm5, %%mm5\n\t"
 "	psrlq  $32, %%mm1\n\t"
 "       psrlq  $32, %%mm3\n\t"
 "	movd   %%mm5, %%ebx\n\t"
@@ -690,12 +690,12 @@
 "	movw   %%ax, 480(%%edi)\n\t"
 "	movw   %%cx, 64(%%esi)\n\t"
 "	pfadd  %%mm2, %%mm0\n\t"
-"	pf2id  %%mm0, %%mm0\n\t"
+"	pf2iw  %%mm0, %%mm0\n\t"
 "	movd   %%mm0, %%eax\n\t"
 "	pfadd  68(%%edx), %%mm6\n\t"
 "	movw   %%ax, 320(%%edi)\n\t"
 "	psrlq  $32, %%mm0\n\t"
-"	pf2id  %%mm6, %%mm6\n\t"
+"	pf2iw  %%mm6, %%mm6\n\t"
 "	movd   %%mm0, %%eax\n\t"
 "	movd   %%mm6, %%ebx\n\t"
 "	movw   %%ax, 416(%%edi)\n\t"
@@ -713,9 +713,9 @@
 "	pfadd  64(%%edx), %%mm0\n\t"
 "	pfadd  80(%%edx), %%mm2\n\t"
 "	pfadd  72(%%edx), %%mm4\n\t"
-"	pf2id  %%mm0, %%mm0\n\t"
-"	pf2id  %%mm2, %%mm2\n\t"
-"	pf2id  %%mm4, %%mm4\n\t"
+"	pf2iw  %%mm0, %%mm0\n\t"
+"	pf2iw  %%mm2, %%mm2\n\t"
+"	pf2iw  %%mm4, %%mm4\n\t"
 "	movd   %%mm0, %%eax\n\t"
 "	movd   %%mm2, %%ecx\n\t"
 "	movd   %%mm4, %%ebx\n\t"
@@ -734,9 +734,9 @@
 "	pfadd  80(%%edx), %%mm1\n\t"
 "	pfadd  72(%%edx), %%mm3\n\t"
 "	pfadd  88(%%edx), %%mm5\n\t"
-"	pf2id  %%mm1, %%mm1\n\t"
-"	pf2id  %%mm3, %%mm3\n\t"
-"	pf2id  %%mm5, %%mm5\n\t"
+"	pf2iw  %%mm1, %%mm1\n\t"
+"	pf2iw  %%mm3, %%mm3\n\t"
+"	pf2iw  %%mm5, %%mm5\n\t"
 "	movd   %%mm1, %%eax\n\t"
 "	movd   %%mm3, %%ecx\n\t"
 "	movd   %%mm5, %%ebx\n\t"
-------------- next part --------------
--- mplayer/mp3lib/dct64_k7.c	2006-06-07 12:53:34.000000000 +0800
+++ mplayer.new/mp3lib/dct64_k7.c	2006-06-21 21:26:04.000000000 +0800
@@ -32,8 +32,8 @@
 "	movq	8(%%eax), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 120(%%eax), %%mm1\n\t"
-"	pshufw	$78, 112(%%eax), %%mm5\n\t"
+"	pswapd	120(%%eax), %%mm1\n\t"
+"	pswapd	112(%%eax), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, (%%edx)\n\t"
@@ -51,8 +51,8 @@
 "	movq	24(%%eax), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 104(%%eax), %%mm1\n\t"
-"	pshufw	$78, 96(%%eax), %%mm5\n\t"
+"	pswapd	104(%%eax), %%mm1\n\t"
+"	pswapd	96(%%eax), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 16(%%edx)\n\t"
@@ -70,8 +70,8 @@
 "	movq	40(%%eax), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 88(%%eax), %%mm1\n\t"
-"	pshufw	$78, 80(%%eax), %%mm5\n\t"
+"	pswapd	88(%%eax), %%mm1\n\t"
+"	pswapd	80(%%eax), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 32(%%edx)\n\t"
@@ -89,8 +89,8 @@
 "	movq	56(%%eax), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 72(%%eax), %%mm1\n\t"
-"	pshufw	$78, 64(%%eax), %%mm5\n\t"
+"	pswapd	72(%%eax), %%mm1\n\t"
+"	pswapd	64(%%eax), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 48(%%edx)\n\t"
@@ -110,8 +110,8 @@
 "	movq	8(%%edx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 56(%%edx), %%mm1\n\t"
-"	pshufw	$78, 48(%%edx), %%mm5\n\t"
+"	pswapd	56(%%edx), %%mm1\n\t"
+"	pswapd	48(%%edx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, (%%ecx)\n\t"
@@ -129,8 +129,8 @@
 "	movq	24(%%edx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 40(%%edx), %%mm1\n\t"
-"	pshufw	$78, 32(%%edx), %%mm5\n\t"
+"	pswapd	40(%%edx), %%mm1\n\t"
+"	pswapd	32(%%edx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 16(%%ecx)\n\t"
@@ -150,8 +150,8 @@
 "	movq	72(%%edx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 120(%%edx), %%mm1\n\t"
-"	pshufw	$78, 112(%%edx), %%mm5\n\t"
+"	pswapd	120(%%edx), %%mm1\n\t"
+"	pswapd	112(%%edx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 64(%%ecx)\n\t"
@@ -169,8 +169,8 @@
 "	movq	88(%%edx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 104(%%edx), %%mm1\n\t"
-"	pshufw	$78, 96(%%edx), %%mm5\n\t"
+"	pswapd	104(%%edx), %%mm1\n\t"
+"	pswapd	96(%%edx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 80(%%ecx)\n\t"
@@ -193,8 +193,8 @@
 "	movq	8(%%ecx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 24(%%ecx), %%mm1\n\t"
-"	pshufw	$78, 16(%%ecx), %%mm5\n\t"
+"	pswapd	24(%%ecx), %%mm1\n\t"
+"	pswapd	16(%%ecx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, (%%edx)\n\t"
@@ -212,8 +212,8 @@
 "	movq	40(%%ecx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 56(%%ecx), %%mm1\n\t"
-"	pshufw	$78, 48(%%ecx), %%mm5\n\t"
+"	pswapd	56(%%ecx), %%mm1\n\t"
+"	pswapd	48(%%ecx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 32(%%edx)\n\t"
@@ -231,8 +231,8 @@
 "	movq	72(%%ecx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 88(%%ecx), %%mm1\n\t"
-"	pshufw	$78, 80(%%ecx), %%mm5\n\t"
+"	pswapd	88(%%ecx), %%mm1\n\t"
+"	pswapd	80(%%ecx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 64(%%edx)\n\t"
@@ -250,8 +250,8 @@
 "	movq	104(%%ecx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 120(%%ecx), %%mm1\n\t"
-"	pshufw	$78, 112(%%ecx), %%mm5\n\t"
+"	pswapd	120(%%ecx), %%mm1\n\t"
+"	pswapd	112(%%ecx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 96(%%edx)\n\t"
@@ -273,8 +273,8 @@
 "	movq	16(%%edx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 8(%%edx), %%mm1\n\t"
-"	pshufw	$78, 24(%%edx), %%mm5\n\t"
+"	pswapd	8(%%edx), %%mm1\n\t"
+"	pswapd	24(%%edx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, (%%ecx)\n\t"
@@ -292,8 +292,8 @@
 "	movq	48(%%edx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 40(%%edx), %%mm1\n\t"
-"	pshufw	$78, 56(%%edx), %%mm5\n\t"
+"	pswapd	40(%%edx), %%mm1\n\t"
+"	pswapd	56(%%edx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 32(%%ecx)\n\t"
@@ -311,8 +311,8 @@
 "	movq	80(%%edx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 72(%%edx), %%mm1\n\t"
-"	pshufw	$78, 88(%%edx), %%mm5\n\t"
+"	pswapd	72(%%edx), %%mm1\n\t"
+"	pswapd	88(%%edx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 64(%%ecx)\n\t"
@@ -330,8 +330,8 @@
 "	movq	112(%%edx), %%mm4\n\t"
 "	movq	%%mm0, %%mm3\n\t"
 "	movq	%%mm4, %%mm7\n\t"
-"	pshufw	$78, 104(%%edx), %%mm1\n\t"
-"	pshufw	$78, 120(%%edx), %%mm5\n\t"
+"	pswapd	104(%%edx), %%mm1\n\t"
+"	pswapd	120(%%edx), %%mm5\n\t"
 "	pfadd	%%mm1, %%mm0\n\t"
 "	pfadd	%%mm5, %%mm4\n\t"
 "	movq	%%mm0, 96(%%ecx)\n\t"


More information about the MPlayer-dev-eng mailing list