Compile Speex for Blackfin in VisualDsp

Software Engineer <[email protected]>
Newsgroups gmane.comp.audio.compression.speex.devel
Message-ID <[email protected]>
Hi,
 
Is there a fix for this issue?   ---> http://permalink.gmane.org/gmane.comp.audio.compression.speex.devel/2959
 
I am seeing the same thing when I compile speex in visualdsp
 
These are the errors I get from using the assembly version of vq_nbest:
 
..\..\..\..\algorithms\voice\speex\src\vq.c
[Error ea5004] "C:\Users\coder\AppData\Local\Temp\acc22e8547f000\acc22e8547f001.s":482 Syntax Error in :
LOOP vq_loopR2= LC0 = P4;
syntax error is at or near text '='.
Attempting error recovery by ignoring text until the ';'
[Error ea5004] "C:\Users\coder\AppData\Local\Temp\acc22e8547f000\acc22e8547f001.s":483 Syntax Error in :
LOOP_BEGIN vq_loopR2=;
syntax error is at or near text '='.
Attempting error recovery by ignoring text until the ';'
[Error ea5004] "C:\Users\coder\AppData\Local\Temp\acc22e8547f000\acc22e8547f001.s":485 Syntax Error in :
LOOP_END vq_loopR2=;
syntax error is at or near text '='.
Attempting error recovery by ignoring text until the ';'
[Error ea5004] "C:\Users\coder\AppData\Local\Temp\acc22e8547f000\acc22e8547f001.s":650 Syntax Error in :
LOOP entries_loopR4= LC0;
syntax error is at or near text '='.
Attempting error recovery by ignoring text until the ';'
[Error ea5004] "C:\Users\coder\AppData\Local\Temp\acc22e8547f000\acc22e8547f001.s":651 Syntax Error in :
LOOP_BEGIN entries_loopR4=;
syntax error is at or near text '='.
Attempting error recovery by ignoring text until the ';'
[Error ea5004] "C:\Users\coder\AppData\Local\Temp\acc22e8547f000\acc22e8547f001.s":656 Syntax Error in :
LOOP vq_loopR4= LC1 = P1;
syntax error is at or near text '='.
Attempting error recovery by ignoring text until the ';'
[Error ea5004] "C:\Users\coder\AppData\Local\Temp\acc22e8547f000\acc22e8547f001.s":657 Syntax Error in :
LOOP_BEGIN vq_loopR4=;
syntax error is at or near text '='.
Attempting error recovery by ignoring text until the ';'
[Error ea5004] "C:\Users\coder\AppData\Local\Temp\acc22e8547f000\acc22e8547f001.s":659 Syntax Error in :
LOOP_END vq_loopR4=;
syntax error is at or near text '='.
Attempting error recovery by ignoring text until the ';'
[Error ea5004] "C:\Users\coder\AppData\Local\Temp\acc22e8547f000\acc22e8547f001.s":665 Syntax Error in :
LOOP_END entries_loopR4=;
syntax error is at or near text '='.
Attempting error recovery by ignoring text until the ';'
 Previous errors prevent assembly
Assembler totals: 9 error(s) and 0 warning(s)
cc3089: fatal error: Assembler failed
Tool failed with exit/exception code: 1.
Build was unsuccessful.
 
 
 
 void vq_nbest(i16 *in, const i16 *codebook, int len, int entries, i32 *E, int N, int *nbest, i32 *best_dist, i8 *stack)
{
if (N == 1)
{
best_dist[0] = 2147483647;
{
i32 dist;
__asm__ __volatile__
(
"LC0 = %8;\n\t"
"R2 = 0;\n\t"
"I0 = %6;\n\t"
"B0 = %6;\n\t"
"L0 = %9;\n\t"
"LOOP entries_loop%= LC0;\n\t"
"LOOP_BEGIN entries_loop%=;\n\t"
"%0 = [%4++];\n\t"
"%0 >>= 1;\n\t"
"A0 = %0;\n\t"
"R0.L = W[%1++%7] || R1.L = W[I0++];\n\t"
"LOOP vq_loop%= LC1 = %5;\n\t"
"LOOP_BEGIN vq_loop%=;\n\t"
"%0 = (A0 -= R0.L*R1.L) (IS) || R0.L = W[%1++%7] || R1.L = W[I0++];\n\t"
"LOOP_END vq_loop%=;\n\t"
"%0 = (A0 -= R0.L*R1.L) (IS);\n\t"
"cc = %0 < %2;\n\t"
"if cc %2 = %0;\n\t"
"if cc %3 = R2;\n\t"
"R2 += 1;\n\t"
"LOOP_END entries_loop%=;\n\t"
: "=&D" (dist), "=&a" (codebook), "=&d" (best_dist[0]), "=&d" (nbest[0]), "=&a" (E)
: "a" (len-1), "a" (in), "a" (2), "d" (entries), "d" (len<<1), "1" (codebook), "4" (E), "2" (best_dist[0]), "3" (nbest[0])
: "R0", "R1", "R2", "I0", "L0", "B0", "A0", "cc", "memory"
);
}
}
else
{
int i, k, used;
used = 0;
for (i = 0; i < entries; i++)
{
i32 dist;
__asm__
(
"%0 >>= 1;\n\t"
"A0 = %0;\n\t"
"I0 = %3;\n\t"
"L0 = 0;\n\t"
"R0.L = W[%1++%4] || R1.L = W[I0++];\n\t"
"LOOP vq_loop%= LC0 = %2;\n\t"
"LOOP_BEGIN vq_loop%=;\n\t"
"%0 = (A0 -= R0.L*R1.L) (IS) || R0.L = W[%1++%4] || R1.L = W[I0++];\n\t"
"LOOP_END vq_loop%=;\n\t"
"%0 = (A0 -= R0.L*R1.L) (IS);\n\t"
: "=D" (dist), "=a" (codebook)
: "a" (len-1), "a" (in), "a" (2), "1" (codebook), "0" (E[i])
: "R0", "R1", "I0", "L0", "A0"
);
if (i < N || dist < best_dist[N - 1])
{
for (k = N - 1; (k >= 1) && (k > used || dist < best_dist[k - 1]); k--)
{
best_dist[k] = best_dist[k - 1];
nbest[k] = nbest[k - 1];
}
best_dist[k] = dist;
nbest[k] = i;
used++;
}
}
}
}

_______________________________________________
Speex-dev mailing list
[email protected]
http://lists.xiph.org/mailman/listinfo/speex-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.