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?
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