Hi,
I am migrating our algrithm from DM8168 to DM8127. I think the DSPs inside the two chips are the same except that the clocks speed are different. But the algrithm run in DM8127 takes almost ten times clocks of which run in DM8168. After some detail tests, I found the main difference was the divide calculation.
The divide calculation of two int data in DM8127 takes more than 400 hundreds clocks but it takes no more than fourty clocks(I fortgot the excact number) in DM8168. In DM8127, I am sure all variables are allocated from the L2 SRAM (by checking the address).
We are using IPNC RDK 3.5 for DM8127 and DVR RDK 2.8 for DM8168. I profiled the calculation time by using _itoll(TSCH, TSCL) function.
After reviewing the assembly code generated by the complier, I found both functions called the __c6abi_divi function to calculate the divide.
Can anybody give me some glues to find out the reason?