Other Parts Discussed in Thread: C2000WARE
Tool/software: TI C/C++ Compiler
I have a question about the assembly that the CLA compiler is generating.
In the CLAmath.h file resides some inline functions. If you take a look at the CLAasin_inline() function, for example, you will notice a variable declared xTblIdx. If this variable is declared as 16-bits, the compiler generates some assembly that has branches in it. Like at line 419 of cla_asin.asm. What are these branches checking?
If the variable is declared as a 32-bit variable, the branches disappear and the performance improves, but I don't understand where the branches come from. I understand that when it is declared as 16-bits the compiler will have to convert to 32-bit, convert to float, floating-point multiply, then convert back to fixed-point. But what do the branches have to do with this process?
Thanks,
Jacob

