Stupid off-by-one bug (thanks to David Laing for tracking it down)
authorjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Tue, 4 Oct 2005 14:15:21 +0000 (14:15 +0000)
committerjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Tue, 4 Oct 2005 14:15:21 +0000 (14:15 +0000)
git-svn-id: http://svn.xiph.org/trunk/speex@10116 0101bb08-14d6-0310-b084-bc0e0c8e3800

libspeex/filters_sse.h

index 82cde0d..2f03747 100644 (file)
@@ -48,8 +48,8 @@ void filter_mem2_10(const float *x, const float *_num, const float *_den, float
       den[i] = _mm_loadu_ps(_den+4*i);
    }
    mem[2] = _mm_setr_ps(_mem[8], _mem[9], 0, 0);
-   num[2] = _mm_setr_ps(_num[9], _num[10], 0, 0);
-   den[2] = _mm_setr_ps(_den[9], _den[10], 0, 0);
+   num[2] = _mm_setr_ps(_num[8], _num[9], 0, 0);
+   den[2] = _mm_setr_ps(_den[8], _den[9], 0, 0);
    
    for (i=0;i<N;i++)
    {
@@ -154,7 +154,7 @@ void iir_mem2_10(const float *x, const float *_den, float *y, int N, int ord, fl
       den[i] = _mm_loadu_ps(_den+4*i);
    }
    mem[2] = _mm_setr_ps(_mem[8], _mem[9], 0, 0);
-   den[2] = _mm_setr_ps(_den[9], _den[10], 0, 0);
+   den[2] = _mm_setr_ps(_den[8], _den[9], 0, 0);
    
    for (i=0;i<N;i++)
    {
@@ -252,7 +252,7 @@ void fir_mem2_10(const float *x, const float *_num, float *y, int N, int ord, fl
       num[i] = _mm_loadu_ps(_num+4*i);
    }
    mem[2] = _mm_setr_ps(_mem[8], _mem[9], 0, 0);
-   num[2] = _mm_setr_ps(_num[9], _num[10], 0, 0);
+   num[2] = _mm_setr_ps(_num[8], _num[9], 0, 0);
    
    for (i=0;i<N;i++)
    {