# HG changeset patch # User michael # Date 1188117115 0 # Node ID f81e45d5ebb1199a95b549a14bb024504ab29f03 # Parent f207ea5008d8072ece68ebacd0005734c63c3234 optimize 1st horizontal lifting step diff -r f207ea5008d8 -r f81e45d5ebb1 i386/snowdsp_mmx.c --- a/i386/snowdsp_mmx.c Sun Aug 26 08:03:23 2007 +0000 +++ b/i386/snowdsp_mmx.c Sun Aug 26 08:31:55 2007 +0000 @@ -42,8 +42,10 @@ i = 0; asm volatile( "pcmpeqd %%xmm7, %%xmm7 \n\t" - "psllw $15, %%xmm7 \n\t" - "psrlw $14, %%xmm7 \n\t" + "pcmpeqd %%xmm3, %%xmm3 \n\t" + "psllw $1, %%xmm3 \n\t" + "paddw %%xmm7, %%xmm3 \n\t" + "psrlw $13, %%xmm3 \n\t" ::); for(; i>W_DS); asm volatile( "pcmpeqw %%mm7, %%mm7 \n\t" - "psllw $15, %%mm7 \n\t" - "psrlw $14, %%mm7 \n\t" + "pcmpeqw %%mm3, %%mm3 \n\t" + "psllw $1, %%mm3 \n\t" + "paddw %%mm7, %%mm3 \n\t" + "psllw $13, %%mm3 \n\t" ::); for(; i> W_BS); asm volatile( - "psllw $14, %%mm7 \n\t" + "psllw $15, %%mm7 \n\t" "pcmpeqw %%mm6, %%mm6 \n\t" "psrlw $13, %%mm6 \n\t" "paddw %%mm7, %%mm6 \n\t"