# HG changeset patch # User michael # Date 1187654089 0 # Node ID 9993d38f59cf0560d2eeb0608ee772d99aa453e4 # Parent 4ba1798959b0698b735058c5f53135a2a1ec3947 simplify, speedup and reduce needed headroom by 2 bits in the 3rd vertical lifting step diff -r 4ba1798959b0 -r 9993d38f59cf i386/snowdsp_mmx.c --- a/i386/snowdsp_mmx.c Mon Aug 20 23:11:05 2007 +0000 +++ b/i386/snowdsp_mmx.c Mon Aug 20 23:54:49 2007 +0000 @@ -590,18 +590,17 @@ snow_vertical_compose_mmx_sub("mm1","mm3","mm5","mm7","mm0","mm2","mm4","mm6") snow_vertical_compose_mmx_store(REG_S,"mm0","mm2","mm4","mm6") "mov %2, %%"REG_a" \n\t" - snow_vertical_compose_mmx_load(REG_c,"mm1","mm3","mm5","mm7") snow_vertical_compose_mmx_add(REG_a,"mm0","mm2","mm4","mm6") - snow_vertical_compose_mmx_sll("2","mm1","mm3","mm5","mm7") - snow_vertical_compose_mmx_r2r_add("mm1","mm3","mm5","mm7","mm0","mm2","mm4","mm6") + snow_vertical_compose_mmx_sra("2","mm0","mm2","mm4","mm6") + snow_vertical_compose_mmx_add(REG_c,"mm0","mm2","mm4","mm6") "pcmpeqd %%mm1, %%mm1 \n\t" "pslld $31, %%mm1 \n\t" - "psrld $28, %%mm1 \n\t" + "psrld $30, %%mm1 \n\t" "mov %1, %%"REG_S" \n\t" snow_vertical_compose_mmx_r2r_add("mm1","mm1","mm1","mm1","mm0","mm2","mm4","mm6") - snow_vertical_compose_mmx_sra("4","mm0","mm2","mm4","mm6") + snow_vertical_compose_mmx_sra("2","mm0","mm2","mm4","mm6") snow_vertical_compose_mmx_add(REG_c,"mm0","mm2","mm4","mm6") snow_vertical_compose_mmx_store(REG_c,"mm0","mm2","mm4","mm6") snow_vertical_compose_mmx_add(REG_S,"mm0","mm2","mm4","mm6")