[Mplayer-cvslog] CVS: main/libac3/mmx srfft_3dnow.c,1.9,1.10 srfftp_3dnow.h,1.4,1.5

Nick Kurshev nickols_k at users.sourceforge.net
Fri Jun 1 17:56:06 CEST 2001


Update of /cvsroot/mplayer/main/libac3/mmx
In directory usw-pr-cvs1:/tmp/cvs-serv30024/main/libac3/mmx

Modified Files:
	srfft_3dnow.c srfftp_3dnow.h 
Log Message:
Better insns scheduling and moving out local variables

Index: srfft_3dnow.c
===================================================================
RCS file: /cvsroot/mplayer/main/libac3/mmx/srfft_3dnow.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** srfft_3dnow.c	2001/05/31 17:58:56	1.9
--- srfft_3dnow.c	2001/06/01 15:56:04	1.10
***************
*** 298,302 ****
--- 298,304 ----
  	"punpckldq %%mm5,%%mm2\n\t"
  #endif
+ 	"movq	24(%4),	%%mm3\n\t"
  	"pfsub	%%mm2,	%%mm0\n\t"
+ 	"movq	%%mm3,	%%mm4\n\t"
  	"movq	%%mm0,	%%mm1\n\t"
  	"pfmul  %%mm6,	%%mm0\n\t"
***************
*** 304,312 ****
  	"pfmul	%5,	%%mm0\n\t"
  	"movq	%%mm0,	%%mm1\n\t"
- 	"movq	24(%4),	%%mm3\n\t"
- 	"movq	%%mm3,	%%mm4\n\t"
  	"pfmul	%%mm6,	%%mm1\n\t"
- 	"pfadd	%%mm1,	%%mm3\n\t"
  	"pfmul	%%mm7,	%%mm0\n\t"
  	"pfadd	%%mm0,	%%mm4\n\t"
  	"movq	%%mm4,	24(%0)\n\t"
--- 306,312 ----
  	"pfmul	%5,	%%mm0\n\t"
  	"movq	%%mm0,	%%mm1\n\t"
  	"pfmul	%%mm6,	%%mm1\n\t"
  	"pfmul	%%mm7,	%%mm0\n\t"
+ 	"pfadd	%%mm1,	%%mm3\n\t"
  	"pfadd	%%mm0,	%%mm4\n\t"
  	"movq	%%mm4,	24(%0)\n\t"
***************
*** 440,445 ****
  {
    register complex_t  *x2k, *x3k, *x4k, *wB;
-   register float a_r, a_i, a1_r, a1_i, u_r, u_i, v_r, v_i;
-   complex_t a, a1, u, v;
  
    TRANS_FILL_MM6_MM7_3DNOW();
--- 440,443 ----
***************
*** 471,475 ****
  void fft_asmb16(complex_t *x, complex_t *wTB)
  {
-   complex_t a, a1, u, v;
    int k = 2;
  
--- 469,472 ----

Index: srfftp_3dnow.h
===================================================================
RCS file: /cvsroot/mplayer/main/libac3/mmx/srfftp_3dnow.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** srfftp_3dnow.h	2001/05/31 17:58:56	1.4
--- srfftp_3dnow.h	2001/06/01 15:56:04	1.5
***************
*** 130,146 ****
  	"pfmul	%%mm2, %%mm0\n\t" /* u *= HSQRT2_3DNOW; */\
  	"movq	%6, %%mm1\n\t" /* a1 = A2;*/\
  	"movq	%%mm1, %%mm2\n\t"\
  	"pfadd	%%mm0, %%mm1\n\t" /*A2 = a1 + u;*/\
  	"pfsub	%%mm0, %%mm2\n\t" /*A2 = a1 - u;*/\
  	"movq	%%mm1, %0\n\t"\
  	"movq	%%mm2, %1\n\t"\
! 	"movq	%7, %%mm1\n\t" /* a1 = A6;*/\
! 	"movq	%%mm1, %%mm2\n\t"\
! 	"movq	%%mm3, %%mm4\n\t"\
! 	"pfmul	%%mm6, %%mm4\n\t"/*A6.re  = a1.re + v.re;*/\
! 	"pfadd	%%mm4, %%mm1\n\t"/*A6.im  = a1.im - v.im;*/\
! 	"pfmul	%%mm7, %%mm3\n\t"/*A14.re = a1.re - v.re;*/\
  	"pfadd	%%mm3, %%mm2\n\t"/*A14.im = a1.im + v.im;*/\
! 	"movq	%%mm1, %2\n\t"\
  	"movq	%%mm2, %3"\
  	:"=m"(A2), "=m"(A10), "=m"(A6), "=m"(A14)\
--- 130,146 ----
  	"pfmul	%%mm2, %%mm0\n\t" /* u *= HSQRT2_3DNOW; */\
  	"movq	%6, %%mm1\n\t" /* a1 = A2;*/\
+ 	"movq	%7, %%mm5\n\t" /* a1 = A6;*/\
  	"movq	%%mm1, %%mm2\n\t"\
+ 	"movq	%%mm3, %%mm4\n\t"\
  	"pfadd	%%mm0, %%mm1\n\t" /*A2 = a1 + u;*/\
+ 	"pfmul	%%mm6, %%mm4\n\t"/*A6.re  = a1.re + v.re;*/\
  	"pfsub	%%mm0, %%mm2\n\t" /*A2 = a1 - u;*/\
+ 	"pfmul	%%mm7, %%mm3\n\t"/*A14.re = a1.re - v.re;*/\
  	"movq	%%mm1, %0\n\t"\
  	"movq	%%mm2, %1\n\t"\
! 	"movq	%%mm5, %%mm2\n\t"\
! 	"pfadd	%%mm4, %%mm5\n\t"/*A6.im  = a1.im - v.im;*/\
  	"pfadd	%%mm3, %%mm2\n\t"/*A14.im = a1.im + v.im;*/\
! 	"movq	%%mm5, %2\n\t"\
  	"movq	%%mm2, %3"\
  	:"=m"(A2), "=m"(A10), "=m"(A6), "=m"(A14)\
***************
*** 170,178 ****
  	PFNACC_MM("%%mm2","%%mm3")\
  	"pfacc	%%mm0,	%%mm0\n\t"\
  	"punpckldq %%mm0,%%mm2\n\t"/*mm2 = v.re | a.re*/\
  	"movq	%%mm2,	%%mm3\n\t"\
  	"pfmul	%%mm7,	%%mm3\n\t"\
- 	"movq	%%mm4,	%%mm5\n\t"\
- 	"pfmul	%%mm6,	%%mm5\n\t"\
  	"pfadd	%%mm3,	%%mm5\n\t"\
  	PSWAP_MM("%%mm5","%%mm3")/* mm5 = v*/\
--- 170,178 ----
  	PFNACC_MM("%%mm2","%%mm3")\
  	"pfacc	%%mm0,	%%mm0\n\t"\
+ 	"movq	%%mm4,	%%mm5\n\t"\
  	"punpckldq %%mm0,%%mm2\n\t"/*mm2 = v.re | a.re*/\
+ 	"pfmul	%%mm6,	%%mm5\n\t"\
  	"movq	%%mm2,	%%mm3\n\t"\
  	"pfmul	%%mm7,	%%mm3\n\t"\
  	"pfadd	%%mm3,	%%mm5\n\t"\
  	PSWAP_MM("%%mm5","%%mm3")/* mm5 = v*/\
***************
*** 183,199 ****
      __asm__ __volatile__(\
  	"movq	%4, %%mm0\n\t"/* a1 = A1*/\
  	"movq	%%mm0, %%mm1\n\t"\
  	"pfadd	%%mm4, %%mm0\n\t"/*A1 = a1 + u*/\
  	"pfsub	%%mm4, %%mm1\n\t"/*A9 = a1 - u*/\
  	"movq	%%mm0, %0\n\t"\
  	"movq	%%mm1, %1\n\t"\
- 	"movq	%5, %%mm2\n\t"/* a1 = A5*/\
- 	"movq	%%mm2, %%mm3\n\t"\
- 	"pfsub	%%mm5, %%mm2\n\t"/*A5 = a1 - v*/\
- 	"pfadd	%%mm5, %%mm3\n\t"/*A9 = a1 + v*/\
  	"movq	%%mm2, %2\n\t"\
  	"movq	%%mm3, %3"\
  	:"=m"(A1), "=m"(A9), "=m"(A5), "=m"(A13)\
! 	:"0"(A1), "2"(A5), "m"(u), "m"(v)\
  	:"memory");\
  }
--- 183,199 ----
      __asm__ __volatile__(\
  	"movq	%4, %%mm0\n\t"/* a1 = A1*/\
+ 	"movq	%5, %%mm2\n\t"/* a1 = A5*/\
  	"movq	%%mm0, %%mm1\n\t"\
+ 	"movq	%%mm2, %%mm3\n\t"\
  	"pfadd	%%mm4, %%mm0\n\t"/*A1 = a1 + u*/\
+ 	"pfsub	%%mm5, %%mm2\n\t"/*A5 = a1 - v*/\
  	"pfsub	%%mm4, %%mm1\n\t"/*A9 = a1 - u*/\
+ 	"pfadd	%%mm5, %%mm3\n\t"/*A9 = a1 + v*/\
  	"movq	%%mm0, %0\n\t"\
  	"movq	%%mm1, %1\n\t"\
  	"movq	%%mm2, %2\n\t"\
  	"movq	%%mm3, %3"\
  	:"=m"(A1), "=m"(A9), "=m"(A5), "=m"(A13)\
! 	:"0"(A1), "2"(A5)\
  	:"memory");\
  }


_______________________________________________
Mplayer-cvslog mailing list
Mplayer-cvslog at lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/mplayer-cvslog



More information about the MPlayer-cvslog mailing list