for (i=0;i<=10;i++) num[i]=den[i]=0; for (i=0;i<10;i++) mem[i]=0;
void filter_mem2(float *x, float *_num, float *_den, float *y, int N, int ord, float *_mem){   float __num[20], __den[20], __mem[20];   float *num, *den, *mem;   int i,j;   float xi,yi;   num = (float*)(((int)(__num+4))&0xfffffff0)-1;   den = (float*)(((int)(__den+4))&0xfffffff0)-1;   mem = (float*)(((int)(__mem+4))&0xfffffff0)-1;   for (i=0;i<ord+1;i++)   {      num[i]=_num[i];      den[i]=_den[i];   }   for (i=0;i<ord;i++)      mem[i]=_mem[i];   for (i=0;i<N;i+=4)   {      __asm__ __volatile__       ("       movss (%1), %%xmm0       movss (%0), %%xmm1       addss %%xmm0, %%xmm1       movss %%xmm1, (%2)       shufps $0x00, %%xmm0, %%xmm0       shufps $0x00, %%xmm1, %%xmm1       movaps 4(%3),  %%xmm2       movaps 4(%4),  %%xmm3       mulps  %%xmm0, %%xmm2       mulps  %%xmm1, %%xmm3       movaps 20(%3), %%xmm4       mulps  %%xmm0, %%xmm4       addps  4(%0),  %%xmm2       movaps 20(%4), %%xmm5       mulps  %%xmm1, %%xmm5       addps  20(%0), %%xmm4       subps  %%xmm3, %%xmm2       movups %%xmm2, (%0)       subps  %%xmm5, %%xmm4       movups %%xmm4, 16(%0)       movss  36(%3), %%xmm2       mulss  %%xmm0, %%xmm2       movss  36(%4), %%xmm3       mulss  %%xmm1, %%xmm3       addss  36(%0), %%xmm2       movss  40(%3), %%xmm4       mulss  %%xmm0, %%xmm4       movss  40(%4), %%xmm5       mulss  %%xmm1, %%xmm5       subss  %%xmm3, %%xmm2       movss  %%xmm2, 32(%0)              subss  %%xmm5, %%xmm4       movss  %%xmm4, 36(%0)       movss 4(%1), %%xmm0       movss (%0), %%xmm1       addss %%xmm0, %%xmm1       movss %%xmm1, 4(%2)       shufps $0x00, %%xmm0, %%xmm0       shufps $0x00, %%xmm1, %%xmm1       movaps 4(%3),  %%xmm2       movaps 4(%4),  %%xmm3       mulps  %%xmm0, %%xmm2       mulps  %%xmm1, %%xmm3       movaps 20(%3), %%xmm4       mulps  %%xmm0, %%xmm4       addps  4(%0),  %%xmm2       movaps 20(%4), %%xmm5       mulps  %%xmm1, %%xmm5       addps  20(%0), %%xmm4       subps  %%xmm3, %%xmm2       movups %%xmm2, (%0)       subps  %%xmm5, %%xmm4       movups %%xmm4, 16(%0)       movss  36(%3), %%xmm2       mulss  %%xmm0, %%xmm2       movss  36(%4), %%xmm3       mulss  %%xmm1, %%xmm3       addss  36(%0), %%xmm2       movss  40(%3), %%xmm4       mulss  %%xmm0, %%xmm4       movss  40(%4), %%xmm5       mulss  %%xmm1, %%xmm5       subss  %%xmm3, %%xmm2       movss  %%xmm2, 32(%0)              subss  %%xmm5, %%xmm4       movss  %%xmm4, 36(%0)       movss 8(%1), %%xmm0       movss (%0), %%xmm1       addss %%xmm0, %%xmm1       movss %%xmm1, 8(%2)       shufps $0x00, %%xmm0, %%xmm0       shufps $0x00, %%xmm1, %%xmm1       movaps 4(%3),  %%xmm2       movaps 4(%4),  %%xmm3       mulps  %%xmm0, %%xmm2       mulps  %%xmm1, %%xmm3       movaps 20(%3), %%xmm4       mulps  %%xmm0, %%xmm4       addps  4(%0),  %%xmm2       movaps 20(%4), %%xmm5       mulps  %%xmm1, %%xmm5       addps  20(%0), %%xmm4       subps  %%xmm3, %%xmm2       movups %%xmm2, (%0)       subps  %%xmm5, %%xmm4       movups %%xmm4, 16(%0)       movss  36(%3), %%xmm2       mulss  %%xmm0, %%xmm2       movss  36(%4), %%xmm3       mulss  %%xmm1, %%xmm3       addss  36(%0), %%xmm2       movss  40(%3), %%xmm4       mulss  %%xmm0, %%xmm4       movss  40(%4), %%xmm5       mulss  %%xmm1, %%xmm5       subss  %%xmm3, %%xmm2       movss  %%xmm2, 32(%0)              subss  %%xmm5, %%xmm4       movss  %%xmm4, 36(%0)       movss 12(%1), %%xmm0       movss (%0), %%xmm1       addss %%xmm0, %%xmm1       movss %%xmm1, 12(%2)       shufps $0x00, %%xmm0, %%xmm0       shufps $0x00, %%xmm1, %%xmm1       movaps 4(%3),  %%xmm2       movaps 4(%4),  %%xmm3       mulps  %%xmm0, %%xmm2       mulps  %%xmm1, %%xmm3       movaps 20(%3), %%xmm4       mulps  %%xmm0, %%xmm4       addps  4(%0),  %%xmm2       movaps 20(%4), %%xmm5       mulps  %%xmm1, %%xmm5       addps  20(%0), %%xmm4       subps  %%xmm3, %%xmm2       movups %%xmm2, (%0)       subps  %%xmm5, %%xmm4       movups %%xmm4, 16(%0)       movss  36(%3), %%xmm2       mulss  %%xmm0, %%xmm2       movss  36(%4), %%xmm3       mulss  %%xmm1, %%xmm3       addss  36(%0), %%xmm2       movss  40(%3), %%xmm4       mulss  %%xmm0, %%xmm4       movss  40(%4), %%xmm5       mulss  %%xmm1, %%xmm5       subss  %%xmm3, %%xmm2       movss  %%xmm2, 32(%0)              subss  %%xmm5, %%xmm4       movss  %%xmm4, 36(%0)       "       : : "r" (mem), "r" (x+i), "r" (y+i), "r" (num), "r" (den)       : "memory" );   }   for (i=0;i<ord;i++)      _mem[i]=mem[i];}