[Mplayer-cvslog] CVS: main/mp3lib dct64_k7.s,1.2,1.3

Nick Kurshev nickols_k at users.sourceforge.net
Wed Jun 20 09:54:22 CEST 2001


Update of /cvsroot/mplayer/main/mp3lib
In directory usw-pr-cvs1:/tmp/cvs-serv10966/main/mp3lib

Modified Files:
	dct64_k7.s 
Log Message:
Better 3dnow! optimization

Index: dct64_k7.s
===================================================================
RCS file: /cvsroot/mplayer/main/mp3lib/dct64_k7.s,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** dct64_k7.s	2001/05/13 14:36:02	1.2
--- dct64_k7.s	2001/06/20 07:54:19	1.3
***************
*** 10,13 ****
--- 10,16 ----
  ///  - Phase 6 is rewritten with mixing of cpu and mmx opcodes
  ///  - change function name for support 3DNowEx! automatic detect
+ ///  - negation of 3dnow reg was replaced with PXOR 0x800000000, MMi instead 
+ ///    of PFMUL as it was suggested by athlon manual. (Two not separated PFMUL
+ ///    can not be paired, but PXOR can be).
  ///
  /// note: because K7 processors are an aggresive out-of-order three-way
***************
*** 22,25 ****
--- 25,33 ----
  ///
  
+ .data
+         .align 8
+ plus_minus_3dnow: .long 0x00000000, 0x80000000
+ 
+ .text
          .globl dct64_3dnowex
          .type    dct64_3dnowex, at function
***************
*** 413,423 ****
  
          // 5
!         movl $-1,%eax
!         movd %eax,%mm1
          movl $1,%eax
-         movd %eax,%mm0
-         / L | H
-         punpckldq %mm1,%mm0
-         pi2fd %mm0,%mm0       /* mm0 = 1.0 | -1.0 */
          movd %eax,%mm1
          pi2fd %mm1,%mm1
--- 421,426 ----
  
          // 5
! 	movq plus_minus_3dnow, %mm0 /* mm0 = 1.0 | -1.0 */
          movl $1,%eax
          movd %eax,%mm1
          pi2fd %mm1,%mm1
***************
*** 434,438 ****
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4    /* mm4 = tmp2[2]+tmp2[3]|tmp2[2]-tmp2[3]*/
!         pfmul %mm0,%mm4       /* mm4 = tmp2[2]+tmp2[3]|tmp2[3]-tmp2[2]*/
          pfmul %mm1,%mm4       /* mm4 = tmp2[2]+tmp2[3]|(tmp2[3]-tmp2[2])*cos0*/
          movq %mm4,%mm5
--- 437,441 ----
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4    /* mm4 = tmp2[2]+tmp2[3]|tmp2[2]-tmp2[3]*/
!         pxor  %mm0,%mm4       /* mm4 = tmp2[2]+tmp2[3]|tmp2[3]-tmp2[2]*/
          pfmul %mm1,%mm4       /* mm4 = tmp2[2]+tmp2[3]|(tmp2[3]-tmp2[2])*cos0*/
          movq %mm4,%mm5
***************
*** 450,454 ****
  	pswapd  %mm4, %mm4
  
!         pfmul %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
--- 453,457 ----
  	pswapd  %mm4, %mm4
  
!         pxor  %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
***************
*** 471,475 ****
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pfmul %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
--- 474,478 ----
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pxor  %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
***************
*** 485,489 ****
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pfmul %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
--- 488,492 ----
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pxor  %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
***************
*** 505,509 ****
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pfmul %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
--- 508,512 ----
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pxor  %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
***************
*** 519,523 ****
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pfmul %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
--- 522,526 ----
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pxor  %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
***************
*** 539,543 ****
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pfmul %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
--- 542,546 ----
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pxor  %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
***************
*** 553,557 ****
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pfmul %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5
--- 556,560 ----
  	pfpnacc %mm4, %mm4
  	pswapd  %mm4, %mm4
!         pxor  %mm0,%mm4
          pfmul %mm1,%mm4
          movq %mm4,%mm5


_______________________________________________
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