Why the Cortex M4 instruction SMMUL (32 = 32 x 32b) preserves a redundant sign bit and discards one useful bit of information? What could possibly be the justification for such blatant disregard of the ISO/IEC TR 18037 standard Fract format?
Jens,
I need to perform these operations:
All of the above operations require the standard fractional multiplication for optimal accuracy.
Could you please give me an example of a DSP application on a low-power 32-bit MCU where you would need to multiply two more-than-32-bit signed values?
Hi petr,
I'm not sure if Jens' answer was the main reason for the SMMUL instruction. Note however that Cortex-M4 is strictly not a DSP but an MCU with DSP extension so multiplication of more-than-32-bit signed values may have application aside from DSP.
I hope you can visit here more often. You can share your knowledge about DSP by participating in discussions, posting blogs, etc. My impression is that you already have intensive experience in DSP especially using DSP/DSC rather than MCU.
Regards,
Goodwin