[Mplayer-cvslog] CVS: main/libac3/mmx imdct_3dnow.c,1.3,1.4

Felix Buenemann atmosfear at users.sourceforge.net
Sun May 27 03:53:19 CEST 2001


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

Modified Files:
	imdct_3dnow.c 
Log Message:
Changed asm volatile to __asm__ __volatile__


Index: imdct_3dnow.c
===================================================================
RCS file: /cvsroot/mplayer/main/libac3/mmx/imdct_3dnow.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** imdct_3dnow.c	2001/05/26 10:29:41	1.3
--- imdct_3dnow.c	2001/05/27 01:53:17	1.4
***************
*** 35,43 ****
  	float *window_ptr;
  
!   asm volatile ("femms":::"memory");
  // 512 IMDCT with source and dest data in 'data'
  // Pre IFFT complex multiply plus IFFT complex conjugate
  
!   asm volatile (
  	"movl $1, %%eax\n\t"
  	"movd %%eax, %%mm7\n\t"
--- 35,43 ----
  	float *window_ptr;
  
!   __asm__ __volatile__ ("femms":::"memory");
  // 512 IMDCT with source and dest data in 'data'
  // Pre IFFT complex multiply plus IFFT complex conjugate
  
!   __asm__ __volatile__ (
  	"movl $1, %%eax\n\t"
  	"movd %%eax, %%mm7\n\t"
***************
*** 49,53 ****
  	for( i=0; i < 128; i++) {
  		j = pm128[i];
! 	asm volatile(
  		"movd	%1, %%mm0\n\t"
  		"movd	%3, %%mm1\n\t"
--- 49,53 ----
  	for( i=0; i < 128; i++) {
  		j = pm128[i];
! 	__asm__ __volatile__ (
  		"movd	%1, %%mm0\n\t"
  		"movd	%3, %%mm1\n\t"
***************
*** 74,88 ****
  		:"=m"(buf[i])
  		:"m"(data[256-2*j-1]), "m"(data[2*j]), "m"(xcos1[j]), "m"(xsin1[j])
! 		:"memory");
  /*		buf[i].re = (data[256-2*j-1] * xcos1[j] - data[2*j] * xsin1[j]);
  		buf[i].im = (data[256-2*j-1] * xsin1[j] + data[2*j] * xcos1[j])*(-1.0);*/
  	}
  
!   asm volatile ("femms":::"memory");
  	fft_128p (&buf[0]);
!   asm volatile ("femms":::"memory");
  
  // Post IFFT complex multiply  plus IFFT complex conjugate
!   asm volatile (
  	"movl $1, %%eax\n\t"
  	"movd %%eax, %%mm7\n\t"
--- 74,89 ----
  		:"=m"(buf[i])
  		:"m"(data[256-2*j-1]), "m"(data[2*j]), "m"(xcos1[j]), "m"(xsin1[j])
! 		:"memory"
! 	);
  /*		buf[i].re = (data[256-2*j-1] * xcos1[j] - data[2*j] * xsin1[j]);
  		buf[i].im = (data[256-2*j-1] * xsin1[j] + data[2*j] * xcos1[j])*(-1.0);*/
  	}
  
!   __asm__ __volatile__ ("femms":::"memory");
  	fft_128p (&buf[0]);
!   __asm__ __volatile__ ("femms":::"memory");
  
  // Post IFFT complex multiply  plus IFFT complex conjugate
!   __asm__ __volatile__ (
  	"movl $1, %%eax\n\t"
  	"movd %%eax, %%mm7\n\t"
***************
*** 101,105 ****
  	:::"eax","memory");
  	for (i=0; i < 128; i++) {
! 	    asm volatile(
  		"movq %1, %%mm0\n\t" /* ac3_buf[i].re | ac3_buf[i].im */
  		"movq %%mm0, %%mm1\n\t" /* ac3_buf[i].re | ac3_buf[i].im */
--- 102,106 ----
  	:::"eax","memory");
  	for (i=0; i < 128; i++) {
! 	    __asm__ __volatile__ (
  		"movq %1, %%mm0\n\t" /* ac3_buf[i].re | ac3_buf[i].im */
  		"movq %%mm0, %%mm1\n\t" /* ac3_buf[i].re | ac3_buf[i].im */
***************
*** 139,143 ****
  	for (i=0; i< 64; i++) {
  /* merge two loops in one to enable working of 2 decoders */
! 	asm volatile(
  		"movd	516(%1), %%mm0\n\t"
  		"movd	(%1), %%mm1\n\t" /**data_ptr++=-buf[64+i].im**window_ptr+++*delay_ptr++;*/
--- 140,144 ----
  	for (i=0; i< 64; i++) {
  /* merge two loops in one to enable working of 2 decoders */
! 	__asm__ __volatile__ (
  		"movd	516(%1), %%mm0\n\t"
  		"movd	(%1), %%mm1\n\t" /**data_ptr++=-buf[64+i].im**window_ptr+++*delay_ptr++;*/
***************
*** 165,169 ****
  /* merge two loops in one to enable working of 2 decoders */
  	    window_ptr -=2;
! 	    asm volatile(
  		"movd	508(%1), %%mm0\n\t"
  		"movd	(%1), %%mm1\n\t"
--- 166,170 ----
  /* merge two loops in one to enable working of 2 decoders */
  	    window_ptr -=2;
! 	    __asm__ __volatile__(
  		"movd	508(%1), %%mm0\n\t"
  		"movd	(%1), %%mm1\n\t"
***************
*** 192,196 ****
  		delay_ptr += 2;
  	}
!   asm volatile ("femms":::"memory");
  }
  
--- 193,197 ----
  		delay_ptr += 2;
  	}
!   __asm__ __volatile__ ("femms":::"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