# HG changeset patch # User michael # Date 1187648961 0 # Node ID 3c0c9723ed3c8c7246a65530b6ea9b73d55bb160 # Parent 8dcb8c89a661f8b02a73534434319f37998100a1 and of course the unneeded double subtractions were blindly put in the mmx code this also makes the affected code 4% faster diff -r 8dcb8c89a661 -r 3c0c9723ed3c i386/snowdsp_mmx.c --- a/i386/snowdsp_mmx.c Mon Aug 20 22:26:49 2007 +0000 +++ b/i386/snowdsp_mmx.c Mon Aug 20 22:29:21 2007 +0000 @@ -294,9 +294,10 @@ DWTELEM * const ref = b+w2 - 1; i = 1; - b[0] = b[0] - (((-2 * ref[1] + W_BO) - 4 * b[0]) >> W_BS); + b[0] = b[0] + (((2 * ref[1] + W_BO-1) + 4 * b[0]) >> W_BS); asm volatile( - "pslld $1, %%mm7 \n\t" /* xmm7 already holds a '4' from 2 lifts ago. */ + "pcmpeqd %%mm7, %%mm7 \n\t" + "psrld $29, %%mm7 \n\t" ::); for(; i