[PD-cvs] externals/tb/volctl~ volctl~.c,1.4,1.5
Tim Blechmann
timblech at users.sourceforge.net
Fri Apr 29 18:29:42 CEST 2005
Update of /cvsroot/pure-data/externals/tb/volctl~
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7620
Modified Files:
volctl~.c
Log Message:
optimized for inplace operation
Index: volctl~.c
===================================================================
RCS file: /cvsroot/pure-data/externals/tb/volctl~/volctl~.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** volctl~.c 24 Jan 2005 21:22:31 -0000 1.4
--- volctl~.c 29 Apr 2005 16:29:40 -0000 1.5
***************
*** 180,188 ****
if (x->x_ticksleft)
! {
int n = (int)(w[4]);
x->x_ticksleft--;
!
asm(
".set T_FLOAT,4 \n"
--- 180,189 ----
if (x->x_ticksleft)
! {
int n = (int)(w[4]);
x->x_ticksleft--;
!
! #if defined(__GNUC__) && (defined(_X86_) || defined(__i386__) || defined(__i586__) || defined(__i686__) )
asm(
".set T_FLOAT,4 \n"
***************
*** 254,278 ****
case 1:
! asm(
! ".set T_FLOAT,4 \n"
! "shrl $4, %1 \n"
! "1: \n"
! "movaps (%1), %%xmm0 \n"
! "movaps 4*T_FLOAT(%1), %%xmm1 \n"
! "movaps 8*T_FLOAT(%1), %%xmm2 \n"
! "movaps 12*T_FLOAT(%1), %%xmm3 \n"
! "movaps %%xmm0, (%2) \n"
! "movaps %%xmm1, 4*T_FLOAT(%2) \n"
! "movaps %%xmm2, 8*T_FLOAT(%2) \n"
! "movaps %%xmm3, 12*T_FLOAT(%2) \n"
! "addl $16*T_FLOAT,%1 \n"
! "addl $16*T_FLOAT,%2 \n"
! "loop 1b \n"
! :
! :"c"(w[4]),"r"(in),"r"(out)
! :"%xmm0","%xmm1","%xmm2","%xmm3");
break;
--- 255,280 ----
case 1:
! if (in != out)
! asm(
! ".set T_FLOAT,4 \n"
! "shrl $4, %1 \n"
! "1: \n"
! "movaps (%1), %%xmm0 \n"
! "movaps 4*T_FLOAT(%1), %%xmm1 \n"
! "movaps 8*T_FLOAT(%1), %%xmm2 \n"
! "movaps 12*T_FLOAT(%1), %%xmm3 \n"
! "movaps %%xmm0, (%2) \n"
! "movaps %%xmm1, 4*T_FLOAT(%2) \n"
! "movaps %%xmm2, 8*T_FLOAT(%2) \n"
! "movaps %%xmm3, 12*T_FLOAT(%2) \n"
! "addl $16*T_FLOAT,%1 \n"
! "addl $16*T_FLOAT,%2 \n"
! "loop 1b \n"
! :
! :"c"(w[4]),"r"(in),"r"(out)
! :"%xmm0","%xmm1","%xmm2","%xmm3");
break;
More information about the Pd-cvs
mailing list