[PD-cvs] pd/src m_simd_sse_gcc.c,1.1.4.1,1.1.4.2

Tim Blechmann timblech at users.sourceforge.net
Wed Nov 10 08:26:25 CET 2004


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3329

Modified Files:
      Tag: devel_0_38
	m_simd_sse_gcc.c 
Log Message:

fixed bug while loading floats to xmm registers

Index: m_simd_sse_gcc.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/m_simd_sse_gcc.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -C2 -d -r1.1.4.1 -r1.1.4.2
*** m_simd_sse_gcc.c	5 Nov 2004 13:33:19 -0000	1.1.4.1
--- m_simd_sse_gcc.c	10 Nov 2004 07:26:07 -0000	1.1.4.2
***************
*** 260,264 ****
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);
--- 260,264 ----
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);
***************
*** 336,340 ****
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);
--- 336,340 ----
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);
***************
*** 387,391 ****
  	".set T_FLOAT,4                            \n"
  	
!         "shufps    $0, %1, %1                      \n"
  	"shrl      $4, %3                          \n" /* divide by 16 */
  
--- 387,391 ----
  	".set T_FLOAT,4                            \n"
  	
!  	"shufps    $0, %1, %1                      \n" 
  	"shrl      $4, %3                          \n" /* divide by 16 */
  
***************
*** 413,417 ****
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);
--- 413,417 ----
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);
***************
*** 525,529 ****
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);
--- 525,529 ----
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);
***************
*** 603,607 ****
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);
--- 603,607 ----
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);
***************
*** 681,685 ****
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);
--- 681,685 ----
  	:
  	/* in, value, out, n */
! 	:"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4])
  	:"%xmm1","%xmm2","%xmm3","%xmm4"
  	);





More information about the Pd-cvs mailing list