This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Bug in mul32.asm, dsplib v2.40.00

I just discovered a bug in the mul32() routine of dsplib.  T3 is altered without saving and restoring the original value, which is required by the C compiler ABI.  When called from C language, mul32() can destroy a loop counter or other critical register values.

It really quite surprising that this code has gone unchanged since 2000 without anyone stumbling across the problem.  The latest update of dsplib seems to have been in October of 2006, so it's hard to believe that fixes have not been issued in almost half a decade.  In the hopes of remedying this, I have documented the dsplib errata that I have discovered, and contributed the list to the DSPLIB Wiki:

DSPLIB - Texas Instruments Embedded Processors Wiki

I hope that others will follow suit by expanding the list with your own discoveries.  If you need to make an addition, you'll have to create a Wiki account if you don't already have one.