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