Estoy trabajando en un proyecto DSP (filtrado IIR) en un procesador de señal digital de Analog Devices (BF706) con el conjunto de compiladores incluido, CrossCore Studio. Tiene algunos ejemplos para cosas DSP simples como filtros FIR y IIR y funciones de biblioteca para ello. El manual del procesador describe el conjunto de instrucciones de ensamblaje y no comenta sobre C.
MI pregunta surge de esta aplicación en particular, pero pensé que hay una mejor práctica que siguen los desarrolladores de DSP. Así que lo enmarcaré de manera general:
De lo que me he dado cuenta con los ejemplos que vienen con este DSP, es que si quiero usar los circuitos diseñados para aplicaciones DSP, necesito programar en ensamblado para ejecutar directamente esas instrucciones (como multiplicar y agregar, etc.) Mi pregunta es si Solo programo en C, ¿el compilador (que también proviene de la compañía de chips DSP) lo optimizaría para ese DSP y usaría sus capacidades? ¿O realmente necesito escribir rutinas DSP directamente en ensamblador?