[PD-cvs] pd/src m_simd_sse_gcc.c,1.1.2.7,1.1.2.8 m_simd_sse_gcc.h,1.1.2.11,1.1.2.12

Tim Blechmann timblech at users.sourceforge.net
Sat Oct 9 18:34:24 CEST 2004


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

Modified Files:
      Tag: devel_0_37
	m_simd_sse_gcc.c m_simd_sse_gcc.h 
Log Message:
further sse assembly code

Index: m_simd_sse_gcc.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/m_simd_sse_gcc.c,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -C2 -d -r1.1.2.7 -r1.1.2.8
*** m_simd_sse_gcc.c	9 Oct 2004 11:56:16 -0000	1.1.2.7
--- m_simd_sse_gcc.c	9 Oct 2004 16:34:22 -0000	1.1.2.8
***************
*** 141,145 ****
  
  
! t_int * plus_perf_sse_gcc (t_int * w)
  {
      asm(
--- 141,145 ----
  
  
! t_int *plus_perf_sse_gcc (t_int * w)
  {
[...1168 lines suppressed...]
! 	"movaps    8*T_FLOAT(%0), %%xmm3           \n"
! 	"maxps     %1, %%xmm3                      \n"
! 	"movaps    %%xmm3, 8*T_FLOAT(%2)           \n"
! 	
! 	"movaps    12*T_FLOAT(%0), %%xmm4          \n"
! 	"maxps     %1, %%xmm4                      \n"
! 	"movaps    %%xmm4, 12*T_FLOAT(%2)          \n"
! 	
! 	"addl      $16*T_FLOAT, %0                 \n"
! 	"addl      $16*T_FLOAT, %2                 \n"
! 	"loop      1b                              \n"
! 	:
! 	/* in, value, out, n */
! 	:"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4])
! 	:"%xmm1","%xmm2","%xmm3","%xmm4"
! 	);
!     return w+5;
! }
  
  /* TB: runtime check */

Index: m_simd_sse_gcc.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/m_simd_sse_gcc.h,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -C2 -d -r1.1.2.11 -r1.1.2.12
*** m_simd_sse_gcc.h	9 Oct 2004 11:56:16 -0000	1.1.2.11
--- m_simd_sse_gcc.h	9 Oct 2004 16:34:22 -0000	1.1.2.12
***************
*** 13,17 ****
  void setvec_sse_gcc(t_float *dst,t_float v,int n);
  void copyvec_sse_gcc(t_float *dst,const t_float *src,int n);
! //void addvec_sse_gcc(t_float *dst,const t_float *src,int n);
  //void testcopyvec_sse_gcc(t_float *dst,const t_float *src,int n);
  //void testaddvec_sse_gcc(t_float *dst,const t_float *src,int n);
--- 13,17 ----
  void setvec_sse_gcc(t_float *dst,t_float v,int n);
  void copyvec_sse_gcc(t_float *dst,const t_float *src,int n);
! void addvec_sse_gcc(t_float *dst,const t_float *src,int n);
  //void testcopyvec_sse_gcc(t_float *dst,const t_float *src,int n);
  //void testaddvec_sse_gcc(t_float *dst,const t_float *src,int n);
***************
*** 62,66 ****
  #define times_perf_simd         times_perf_sse_gcc
  #define scalartimes_perf_simd   scalartimes_perf_sse_gcc
! #define sqr_perf_simd           sqr_perf8 /* SIMD not implemented */
  #define over_perf_simd          over_perf_sse_gcc
  #define scalarover_perf_simd    scalarover_perf_sse_gcc
--- 62,66 ----
  #define times_perf_simd         times_perf_sse_gcc
  #define scalartimes_perf_simd   scalartimes_perf_sse_gcc
! #define sqr_perf_simd           sqr_perf_sse_gcc //8 /* SIMD not implemented */
  #define over_perf_simd          over_perf_sse_gcc
  #define scalarover_perf_simd    scalarover_perf_sse_gcc





More information about the Pd-cvs mailing list