[xiph-commits] r11439 - trunk/speex/libspeex
jm at svn.xiph.org
jm at svn.xiph.org
Fri May 26 21:55:37 PDT 2006
Author: jm
Date: 2006-05-26 21:55:35 -0700 (Fri, 26 May 2006)
New Revision: 11439
Modified:
trunk/speex/libspeex/filters_bfin.h
Log:
normalize16() on Blackfin should now work on odd lenghts (for real this time!)
Modified: trunk/speex/libspeex/filters_bfin.h
===================================================================
--- trunk/speex/libspeex/filters_bfin.h 2006-05-27 04:55:09 UTC (rev 11438)
+++ trunk/speex/libspeex/filters_bfin.h 2006-05-27 04:55:35 UTC (rev 11439)
@@ -39,7 +39,6 @@
{
spx_sig_t max_val=1;
int sig_shift;
-
__asm__
(
"%0 = 0;\n\t"
@@ -77,6 +76,14 @@
"R3 = PACK(R3.L, R1.L);\n\t"
"[I1++] = R3;\n\t"
"LOOP_END norm_shift%=;\n\t"
+ "R3 = 1;\n\t"
+ "R2 = %3;\n\t"
+ "R2 = R2 & R3;\n\t"
+ "cc = R2 == 0;\n\t"
+ "if cc jump even_jump%=;\n\t"
+ "R1 = ASHIFT R0 by %2.L;\n\t"
+ "W[I1++] = R1.L;\n\t"
+ "even_jump%=:"
: : "a" (x), "a" (y), "d" (-sig_shift), "a" (len)
: "I0", "L0", "I1", "L1", "R0", "R1", "R2", "R3", "memory"
);
More information about the commits
mailing list