[Speex-dev] Compiler warnings with GCC 3.4.4 and perfomance question on a Arm 7

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Tue Jan 24 20:37:39 PST 2006

On Tue, 2006-01-24 at 10:33 -0500, tom abcd wrote:
> > OK, I forgot to update the ARM4 code. That should definitely be fixed
> > (otherwise it's not going to work).
> If this is not going to work then why does it work on my Arm?  Any
> quick fix I can do for now?

Didn't you mention you were only using the decoder? That function is
used in the encoder only.

> is included from ltp_arm4.h
> The error places the cursor on the          __asm__ __volatile__ (    
>  line in the function.   I am compiling with Optimization Level 1.
> I did a quick google search and found this where someone else had a
> similar problem when switching from 3.2.3 to GCC 3.4.0.
> http://gcc.gnu.org/ml/gcc/2004-04/msg01455.html

I'll need to have a closer look at this to understand what's really
going on. I suspect the generated code is still right, though.

> So what version of GCC are you using?

I was using gcc 3.3 at the time I wrote this code.

> Any suggestions as to which functions I should look at for the float
> operations to change to Integer?  (assuming it is a simple task to
> change the code from float to int or if I can copy how you change the
> same kind of statements in the narrowband float to int conversion
> otherwise I will probability will not figure it out and will just live
> with the performance I have now.)

I think most of the float ops left are in sb_celp.c but float->fixed
conversion isn't trivial, since you always need to make sure that the
quality isn't degraded by the loss of accuracy (for each change made).


More information about the Speex-dev mailing list